
感谢昇队提供的题面!!orz%%%%%昇队
我的贪心式子是这样推的,之后好像可以转换成数轴上的距离贪心

然后昇队给我展示了另一种方法!

真是太妙啦!!!鄙人佩服得五体投地!
上代码!!
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int n,sum,ans,s[N],Sum[N];
int main()
{
cin>>n;
for(int i = 0;i <= n;i++) cin>>s[i];
sum += s[i];
sum != n;
for(int i = 1;i <= n;i++)Sum[i] = Sum[i-1]+s[i]-sum;
sort(Sum+1,Sum+n+1);
int mid = n / 2 + 1;
for(int i = 1;i <= n;i++)
ans += abs(Sum[mid] - Sum[i]);
cout<< ans << endl;
return 0;
}
1024

被折叠的 条评论
为什么被折叠?



