洛谷P1031均分纸牌
思路:
离散化没怎么学,题库a不动了,写点思维题放松下。
求平均数,算差值。差值为0就不用动他,其他的转嫁给下一堆。
代码:
#include<bits/stdc++.h>
const int N=1e4+10;
const int mod=1e7+9;
const int maxn=0x3f3f3f3f;
const int minn=0xc0c0c0c0;
const int inf=99999999;
using namespace std;
int a[110];
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
int sum=0,n,i;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a[i];
sum+=a[i];
}
sum/=n;
for(i=1;i<=n;i++)
a[i]-=sum;
int ans=0;
for(i=1;i<=n;i++)
if(a[i]==0)
continue;
else
{
a[i+1]+=a[i];
ans++;
}
cout<<ans<<endl;
return 0;
}