1 条题解

  • 0
    @ 2026-5-21 20:16:16

    #include <bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int a[n+1]; for(int i=1;i<=n;i++) { cin>>a[i]; } int cnt=0; while(1) { bool flag=!true; for(int i=1;i<=n;i++) { if(a[i]) { flag=true; break; } } if(!flag) break; cnt++; int maxV=-1; int maxI=-1; for(int j=1;j<=n;j++) { if(a[j]==0) continue; if(maxV<=a[j]) { maxV=a[j]; maxI=j; } } int minV=INT_MAX; for(int j=1;j<=n;j++) { if(a[j]==0) continue; minV=min(minV,a[j]); } a[maxI]-=minV; } cout<<cnt<<endl; return 0; }

    • 1

    信息

    ID
    657
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    (无)
    递交数
    4
    已通过
    3
    上传者