Pagini recente » Cod sursa (job #2959930) | Cod sursa (job #1072816) | Cod sursa (job #957026) | Cod sursa (job #426306) | Cod sursa (job #2801252)
#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;
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 = 50000000000005;
while(st <= dr)
{
mij = (st + dr) / 2;
long long x=0;
for(long long i = 1; i <= n; i++)
{
x += min(v[i], 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;
}