CF1859C 的題解

Jerry_heng發表於2024-03-28

(一)

先對於小的資料全排列,發現每一個都是 \(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;
}