CF1859C 的题解
(一)
先对于小的数据全排列,发现每一个都是 \(1,2,\dots,x,n,n-1,\dots,x\) 类型的(我也不知道为什么)。
然后暴力枚举 \(x\),统计答案。
(二)
AC 代码。
#include<bits/stdc++.h>
#define int long long
using namespace std;
int t,n,a[1001];
int solve(int x){
for(int i=1;i<x;i++)a[i]=i;
for(int i=x,now=n;i<=n;i++,now--)a[i]=now;
int mx=0,sum=0;
for(int i=1;i<=n;i++){
sum+=a[i]*i;
mx=max(mx,a[i]*i);
}
return sum-mx;
}
signed main(){
scanf("%lld",&t);
while(t--){
scanf("%lld",&n);
int ans=0;
for(int i=1;i<=n;i++)
ans=max(ans,solve(i));
printf("%lld\n",ans);
}
return 0;
}

浙公网安备 33010602011771号