Pagini recente » Cod sursa (job #2711233) | Cod sursa (job #2710809) | Cod sursa (job #614577) | Cod sursa (job #2123219) | Cod sursa (job #2797319)
#include<iostream>
#include<fstream>
#include<climits>
using namespace std;
long long i, k, n, mij, rez, v[100001];
long long calc(long long grupe)
{
long long s=0;
for(long long i = 1; i <= n; i++)
{
s += min(v[i], grupe);
}
return s;
}
int main()
{
freopen("grupuri.in", "r", stdin);
freopen("grupuri.out", "w", stdout);
cin >> k >> n;
for(long long i = 1; i <= n; i++)
{
cin >> v[i];
}
long long st = 1;
long long dr = 20000000000000, x;
while(st < dr)
{
mij = (st + dr) / 2;
long long x = calc(mij);
if(x < mij * k)
{
dr = mij - 1;
}
else if(x >= mij * k)
{
rez = mij;
st = mij + 1;
}
else st = mij + 1;
}
cout << rez;
return 0;
}