Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
32580 hi_hi 【S】T3 C++ 运行超时 0 4000 MS 10088 KB 1136 2024-09-15 13:50:46

Tests(0/6):


#include<bits/stdc++.h> using namespace std; long long n,a[10005],nmin=0x3f3f3f3f3f3f3f; bool ji[10000005]; inline void f(long long a[]){ long long sum=0; for(int i=1;i<=n;i++){ sum=sum*10+a[i]; } ji[sum]=true; } inline long long z(long long a[]){ long long sum=0; for(int i=1;i<=n;i++){ sum=sum*10+a[i]; } return sum; } inline long long up(long long a[]){ long long sum=0; for(int i=1;i<=n;i++){ sum+=a[i]; } return sum; } inline long long check(long long a[]){ long long sum=0,t=up(a); for(int i=1;i<=n;i++){ sum+=a[i]*a[i]*n*n+t*t-(2*t*a[i]*n); } return sum/n; } void dfs(long long a[]){ if(ji[z(a)]==true)return; f(a); nmin=min(nmin,check(a)); for(int i=2;i<n;i++){ if(a[i]!=a[i-1]+a[i+1]-a[i]){ long long t=a[i]; a[i]=a[i+1]+a[i-1]-a[i]; dfs(a); a[i]=t; } } } int main(){ for(int i=0;i<=10000000;i++)ji[i]=true; scanf("%lld",&n); for(int i=1;i<=n;i++){ scanf("%lld",&a[i]); } dfs(a); printf("%lld",nmin); }


测评信息: