Pagini recente » Cod sursa (job #3146102) | Rating Petraru Andrei George (Schum) | Cod sursa (job #1136641) | Cod sursa (job #3146583) | Cod sursa (job #3264139)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
long long k, n, i, sum, dr, st, mij, s;
long long v[1000002];
static inline long long Cb(long long sum) {
long long st = 1, dr = sum / k;
long long poz;
while(st <= dr) {
long long mij = st + (dr - st) / 2;
long long sum = 0;
for(i = 1; i <= n; i++) {
if(v[i] <= mij) sum += v[i];
else sum += mij;
}
if(sum >= mij * k) {
poz = mij;
st = mij + 1;
}
else dr = mij - 1;
}
return poz;
}
int main() {
fin >> k >> n;
for(i = 1; i <= n; i++) {
fin >> v[i];
sum += v[i];
}
fout << Cb(sum);
return 0;
}