请问为何样例2过不了?
查看原帖
请问为何样例2过不了?
235901
Always_Remember_It楼主2021/12/5 20:59
#include <bits/stdc++.h>
using namespace std;
const int N=10010;
int a[N],b[N];
int past(int n,int a[]){
	int sum=0;
	for(int i=1;i<=n;i++){
		sum+=a[i]*a[i];
	}
	sum=sum*(n-1);
	int k=0;
	for(int i=1;i<=n;i++){
		for(int j=i+1;j<=n;j++){
			k+=a[i]*a[j];
		}
	}
	sum-=k*2;
	return sum;
}
int main(){
	int n;cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	int minn=past(n,a);
	for(int j=1;j<=n;j++){
		for(int i=2;i<n;i++){
			int p=a[i];
			a[i]=a[i-1]+a[i+1]-a[i];
			int ans=past(n,a);
			if(ans<minn) minn=ans;
			else a[i]=p;
		}
	}
	cout<<minn<<endl;
	return 0;
}
2021/12/5 20:59
加载中...