Pagini recente » Cod sursa (job #3173208) | Monitorul de evaluare | Cod sursa (job #2977237) | Cod sursa (job #3126064) | Cod sursa (job #2014632)
#include <stdio.h>
#define MAXN 100000
#define MAXVAL 1000000
FILE *fin, *fout;
int K, N;
int A[MAXN + 1];
inline bool chk(int r) {
long long s = 0LL;
for (int i = 1; i <= N; i++) {
if (A[i] >= r) {
s += 1LL * r;
}
else s += 1LL * A[i];
}
return (s >= 1LL * r * K);
}
int main() {
fin = fopen("grupuri.in", "r");
fout = fopen("grupuri.out", "w");
fscanf(fin, "%d%d", &K, &N);
for (int i = 1; i <= N; i++)
fscanf(fin, "%d", &A[i]);
int r = 0, pas = 1 << 24;
while (pas) {
if (chk(r + pas)) {
r += pas;
}
pas >>= 1;
}
fprintf(fout, "%d", r);
fclose(fin);
fclose(fout);
return 0;
}