Pagini recente » Cod sursa (job #147377) | Cod sursa (job #614552) | Monitorul de evaluare | Cod sursa (job #398441) | Cod sursa (job #2733573)
#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
priority_queue<int> pq;
int main()
{
int k,n;
cin>>k>>n;
int total=0;
for(int i=0;i<n;i++)
{
int a; cin>>a;
pq.push(a);
}
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;
}