Pagini recente » Cod sursa (job #670934) | Cod sursa (job #2159711) | Cod sursa (job #50676) | Cod sursa (job #860563) | Cod sursa (job #3241280)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
int n, k, a[100001];
bool valid(long long nr){
long long sum = 0;
for(int i = 1; i <= n; i++){
sum += min(a[i], k);
}
if(sum >= nr * k){
return true;
}
return false;
}
int main()
{
fin >> k >> n;
for(int i = 1; i <= n; i++){
fin >> a[i];
}
long long st = 1;
long long dr = 100000000005;
long long sol = 0;
while(st <= dr){
long long m = (st + dr) / 2;
if(valid(m)){
sol = m;
st = m + 1;
}
else{
dr = m - 1;
}
}
fout << sol;
return 0;
}