Pagini recente » Cod sursa (job #1244847) | Cod sursa (job #334837) | Cod sursa (job #1464538) | Cod sursa (job #672065) | Cod sursa (job #2733596)
#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;
}