Pagini recente » Cod sursa (job #1246414) | Cod sursa (job #2109126) | Cod sursa (job #196296) | Cod sursa (job #2888632) | Cod sursa (job #1651436)
#include <stdio.h>
#define MAXN 100000
int v[MAXN];
inline long long min2(long long a, int b){
return a < b ? a : b;
}
inline char bun(long long rez, int n, int k){
long long sum = 0;
int i;
for(i = 0; i < n; i++)
sum += min2(rez, v[i]);
if(sum / k >= rez)
return 1;
return 0;
}
int main(){
FILE *in = fopen("grupuri.in", "r");
int k, n, i;
fscanf(in, "%d%d", &k, &n);
for(i = 0; i < n; i++)
fscanf(in, "%d", &v[i]);
fclose(in);
long long rez = 0, pas;
for(pas = (1LL << 36); pas > 0; pas >>= 1){
if(bun(rez + pas, n, k))
rez += pas;
}
FILE *out = fopen("grupuri.out", "w");
fprintf(out, "%d", rez);
fclose(out);
return 0;
}