1 solutions
-
2
#include<bits/stdc++.h> using namespace std; const int N=110; int a[N]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } int cnt=0; while(1) { bool st=true; for(int i=1;i<=n;i++) //判断是否全0 { if(a[i]!=0) { st=false; } } if(st) break; //全零 int minv=1010,maxv=0,maxid,minid; //找到最大值最小值的位置和值 for(int i=1;i<=n;i++) { if(a[i]>maxv) { maxv=a[i],maxid=i; } if(a[i]>0&&a[i]<minv) { minv=a[i],minid=i; } } cnt++; //次数增加 a[maxid]-=a[minid]; //根据题目进行操作 } cout<<cnt; }
- 1
Information
- ID
- 2888
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 9
- Tags
- # Submissions
- 10
- Accepted
- 5
- Uploaded By