Cod sursa(job #2733596)

Utilizator keluIon Ionel kelu Data 30 martie 2021 17:17:27
Problema Grupuri Scor 22
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <vector>
#include <queue>

using namespace std;

#define TEST 0

#if TEST
ifstream cin("test.in");
ofstream cout("test.out");
#else
ifstream cin("grupuri.in");
ofstream cout("grupuri.out");
#endif



int main()
{
    int k,n;
    cin>>k>>n;

    vector<int> animals(n,0);

    for(int i=0;i<n;i++)
    {
        cin>>animals[i];
    }

    priority_queue<int> pq(less<int>(), animals);

    vector<int> grup(k,0);
    int cnt=0;
    int err=0;
    while(!err)
    {
        for(int i=0;i<k;i++)
        {    
            grup[i]=pq.top();pq.pop();
            if (grup[i]==0)
            {
                err=1; break;
            }
        }
        if (!err)
        {
            for(int i=0;i<k;i++)
            {
                pq.push(grup[i]-1);
            }
            cnt++;
        }
    }

    cout<<cnt;
    
    return 0;
}