1 solutions

  • 2
    @ 2024-7-20 20:50:17

    水题,不用注释

    #include<bits/stdc++.h>
    using namespace std;
    int arr[int(1e4)];
    int arr2[int(1e4)],t;
    vector<int> ve;
    int n,m;
    bool check(){
        for(int i=0;i<n;i++)
            if(arr[i]) return 1;
        return 0;
    }
    int main(){
        int ans=0;
        cin>>n>>m;
        t=m;
        for(int i=0;i<n;i++) {cin>>arr[i];if(i<m)arr2[i]=i;}
        while(check()){
            ans++;
            for(int i=0;i<m;i++){
                if(arr2[i]!=-1 && arr[arr2[i]]!=0) arr[arr2[i]]--;
                else if(t<n) arr2[i]=t++,arr[arr2[i]]--;
                else arr2[i]=-1;
            }
            //cout<<ans<<':';
            //for(int i=0;i<m;i++) cout<<arr2[i]<<' ';
            //cout<<'\n';
        }
        cout<<ans;
        return 0;
    }
    
    • 1

    Information

    ID
    190
    Time
    1000ms
    Memory
    125MiB
    Difficulty
    2
    Tags
    # Submissions
    37
    Accepted
    12
    Uploaded By