提交时间:2026-05-29 20:18:41
运行 ID: 41790
#include<bits/stdc++.h> using namespace std; long long _,n,m,a[200005],b[200005],c[200005]; int main(){ scanf("%lld",&_); while(_--){ scanf("%lld%lld",&n,&m); for(int i=1;i<=n;i++){ scanf("%lld",&a[i]); } for(int i=1;i<=n/2;i++){ b[i]=a[i]-a[n-i+1]; b[i]=(b[i]+m)%m; } for(int i=1;i<=n/2;i++){ c[i]=b[i]-b[i-1]; c[i]=(c[i]+m)%m; } long long sum=0,ans=0x3f3f3f3f3f3f3f3f; for(int i=1;i<=n/2;i++){ sum+=m-c[i]; } sort(c+1,c+n/2+1); long long ji=sum; for(int i=1;i<=ji/m;i++){ sum-=(m-c[i]); } ans=min(ans,sum); //printf("%lld ",ans); sum=0; for(int i=1;i<=n/2;i++){ sum+=c[i]; } ji=sum; for(int i=n/2;i>=n/2-ji/m+1;i--){ sum-=(c[i]); } ans=min(ans,sum); printf("%lld\n",ans); } } // -1 1 // -1 2