4 条题解
- 
  2
C++ :
#include<bits/stdc++.h> using namespace std; int n,a[1500000],ave; long long c[1850000],tot; int main() { scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); tot+=a[i]; } ave=tot/n; for(int i=1;i<=n-1;i++) c[i]=c[i-1]+a[i]-ave; sort(c,c+n); int mid=(n-1)/2; long long ans=0; for(int i=0;i<=mid;++i) ans+=c[n-i-1]-c[i]; printf("%lld",ans); } - 
  0
#include<bits/stdc++.h> using namespace std; int n,a[1500000],ave; long long c[1850000],tot; int main() { scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); tot+=a[i]; } ave=tot/n; for(int i=1;i<=n-1;i++) c[i]=c[i-1]+a[i]-ave;
sort(c,c+n); int mid=(n-1)/2; long long ans=0; for(int i=0;i<=mid;++i) ans+=c[n-i-1]-c[i]; printf("%lld",ans);}
 - 
  0
#include<bits/stdc++.h> typedef long long LL; const int INF = 0x3f3f3f3f; const int N = 1e6+5; LL n,a[N],b[N],x,s,ans; using namespace std; int main() { cin>>n; for(int i=1;i<=n;++i){ cin>>a[i]; x+=a[i]; } x/=n; for(int i=1;i<=n;++i)b[i]=b[i-1]+x-a[i-1]; sort(b+1,b+n+1); s=b[(n+1)/2]; for(int i=1;i<=n;++i)ans+=abs(s-b[i]); cout<<ans; return 0; } - 
  0
#include<bits/stdc++.h> using namespace std; int n,a[1500000],ave; long long c[1850000],tot; int main() { scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); tot+=a[i]; } ave=tot/n; for(int i=1;i<=n-1;i++) c[i]=c[i-1]+a[i]-ave; sort(c,c+n); int mid=(n-1)/2; long long ans=0; for(int i=0;i<=mid;++i) ans+=c[n-i-1]-c[i]; printf("%lld",ans); } 
- 1
 
信息
- ID
 - 33
 - 时间
 - 1000ms
 - 内存
 - 128MiB
 - 难度
 - 2
 - 标签
 - 递交数
 - 169
 - 已通过
 - 104
 - 上传者