题目链接https://www.luogu.com.cn/problem/P1031
一道标准贪心题
知道是贪心但是不知道那么容易,第一次编写代码没想到能直接过(原本只是想混测试点...)
有时候做贪心的题总感觉会错,获取贪心的题确实不需要考虑之后的操作,就做出当前最好的打算就ok
上代码
#include<bits/stdc++.h> #define ll long long using namespace std; int n; int num[105]; ll sum=0; int ave; int main() { cin>>n; int i,cnt=0; for(i=1;i<=n;i++) { cin>>num[i]; sum+=num[i]; } ave=sum/n; for(i=1;i<=n;i++) { if(num[i]>ave) { num[i+1]+=num[i]-ave; num[i]=ave; cnt++; } if(num[i]<ave) { num[i+1]-=ave-num[i]; num[i]=ave; cnt++; } } cout<<cnt; }