Pagini recente » Cod sursa (job #1828899) | Cod sursa (job #2507277) | Cod sursa (job #2910002) | Cod sursa (job #2906508) | Cod sursa (job #2350561)
#include <bits/stdc++.h>
using namespace std;
ifstream in("grupuri.in");
ofstream out("grupuri.out");
vector<int> v;
long long n, k, sol, sum;
int main()
{
in>>k>>n;
for(int i = 1; i <=n ; ++i)
{
int nr;
in>>nr;
sum += nr;
v.push_back(nr);
}
long long st = 1, dr = sum / k, mij;
while(st <= dr)
{
mij =(st + dr) / 2;
sum = 0;
for(int i = 0; i < n; ++i)
{
if(v[i] <= mij) sum += v[i];
else sum += mij;
}
if(mij * k <= sum)
{
st = mij + 1;
sol = mij;
}
else
dr = mij - 1;
}
out<<sol;
return 0;
}