Pagini recente » Cod sursa (job #2802002) | Cod sursa (job #1032616) | Cod sursa (job #2984440) | Cod sursa (job #929620) | Cod sursa (job #3241284)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("grupuri.in");
ofstream fout ("grupuri.out");
long long int v[100001];
int main()
{
long long int n, m, sum = 0;
fin >> n >> m;
for (long long int i = 1; i <= m; i ++)
{
fin >> v[i];
sum += v[i];
}
long long st = 1, dr = sum, rasp = 1;
while (st <= dr)
{
long long mij = (st + dr) / 2, s = 0;
for (long long int i = 1; i <= m; i ++)
s += min(v[i], mij);
if (s >= n * mij)
st = mij + 1, rasp = mij;
else
dr = mij - 1;
}
fout << rasp;
return 0;
}