Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
42019 sea_water 【S】T4 C++ 通过 100 45 MS 2228 KB 975 2026-06-09 14:16:28

Tests(102/102):


#include <bits/stdc++.h> using namespace std; int a[200005], b[100005], c[100005],d[100005], p, T, n, m; long long ans, sum,pp; bool cmp(int x,int y){ return x>y; } int main() { ios::sync_with_stdio(false); cin.tie(0); cin >> T; while (T--) { cin >> n >> m; for (int i = 1; i <= n; i++) { cin >> a[i]; } ans = p = 0; for (int i = 1; i <= n / 2; i++) { b[i] = (a[i] - a[n - i + 1]+m) % m; // cout<<b[i]<<' '; c[i] =b[i] - b[i - 1]; } for(int i=1;i<=n/2;i++){ c[i]=(c[i]+m)%m; // cout<<c[i]<<' '; ans+=(m-c[i])%m; d[i]=(m-c[i])%m; } // cout<<ans<<' '; pp=ans; sort(d+1,d+1+n/2,cmp); for(int i=1;i<=pp/m;i++){ ans-=d[i]; } // cout<<ans<<' '; sum=ans; ans=0; for(int i=1;i<=n/2;i++){ ans+=c[i]%m; d[i]=c[i]%m; }//cout<<ans<<' '; pp=ans; sort(d+1,d+1+n/2,cmp); for(int i=1;i<=pp/m;i++){ ans-=d[i]; } sum=min(sum,ans); cout<<sum<<'\n'; } }


测评信息: