平均分配
#include <iostream>using namespace std;int arr[105];int main(){ int N,cnt = 0,avg; cin >> N; for(int i = 1;i <= N;i++){ cin >> arr[i]; cnt += arr[i]; } avg = cnt / N; int t = 0; for(int i = 1;i < N;i++){ if(arr[i] != avg){ t++; arr[i + 1] -= avg - arr[i]; } } cout << t; return 0;}
数据分段问题
#include <iostream>using namespace std;int arr[100005];int main(){ int N,M,x,s = 0,ans = 1; cin >> N >> M; for(int i = 1;i <= N;i++){ cin >> x; if(s + x <= M){ s += x; } else{ s = x; ans++; } } cout << ans; return 0;}
找零钱
#include <iostream>using namespace std;int coin[5] = {20,10,5,1},n,count = 0;int main(){ cin >> n; for(int i = 0;i < 4;i++){ while(n >= coin[i]){ n = n - coin[i]; count++; } } cout << count; return 0;}