提交时间:2026-05-30 13:59:32

运行 ID: 41843

#include<bits/stdc++.h> using namespace std; long long a[200005],b[200005],c[200005],d[200005]; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); long long t; cin>>t; while(t--) { long long n,m; cin>>n>>m; for(long long i=1;i<=n;i++) cin>>a[i]; for(long long i=1;i<=n/2;i++) b[i]=(a[i]-a[n-i+1]+m)%m; for(long long i=1;i<=n/2;i++) c[i]=(b[i]-b[i-1]+m)%m; long long ans1=0,ans2=0; for(long long i=1;i<=n/2;i++) { ans1+=m-c[i]; d[i]=m-c[i]; } sort(d+1,d+1+n/2); long long cnt1=ans1/m; for(long long i=n/2;i>=max(n/2-cnt1+1,1ll);i--) { ans1-=d[i]; } for(long long i=1;i<=n/2;i++) { ans2+=c[i]; d[i]=c[i]; } long long cnt2=ans2/m; sort(d+1,d+1+n/2); for(long long i=n/2;i>=max(n/2-cnt2+1,1ll);i--) ans2-=d[i]; cout<<min(ans1,ans2)<<endl; } return 0; }