1 solutions

  • 0
    @ 2025-12-3 17:16:04

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    int n,a[1005],ans,at,b,t;
    int main()
    {
        cin>>n;
        for(int i=0;i<n;i++)
        {cin>>b;a[b]++;}
        while(1)
        {
            int q=0;//标记 
            for(int i=t;i<=1000;i++)
                if(a[i]>0) {a[i]--;t++;at++;q=1;break;}
                //个数减一,往下一个找,找到个数加一,标记 
            if(q==0) {ans++;t=0;}//一直找到没有为止 
            if(at==n) break;//找到个数是n个,退出 
        }
        cout<<ans+1;//因为最后一次q不等于0,没有累加1 
        return 0;
    }
    
    • 1

    Information

    ID
    977
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By