| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 41790 | 真很诡异你知道吗其实我不是皇子瑞 | 【S】T4 | C++ | 通过 | 100 | 40 MS | 3388 KB | 1047 | 2026-05-29 20:18:41 |
#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