Pagini recente » Cod sursa (job #676877) | Cod sursa (job #1071079) | Cod sursa (job #183214) | Cod sursa (job #2649153) | Cod sursa (job #1344313)
#include <stdio.h>
#define MAXN 100000
int n, k, v[MAXN];
inline long long min2(long long a, int b){
if(a<b){
return a;
}
return b;
}
inline int ok(long long p){
int i;
long long sum=0;
for(i=0; i<n; i++){
sum+=min2(p, v[i]);
}
return (sum>=(p*(long long)k));
}
int main(){
long long rez, pas;
int i;
FILE *fin, *fout;
fin=fopen("grupuri.in", "r");
fout=fopen("grupuri.out", "w");
fscanf(fin, "%d%d", &k, &n);
for(i=0; i<n; i++){
fscanf(fin, "%d", &v[i]);
}
rez=0;
for(pas=1LL<<36; pas!=0; pas>>=1){
if(ok(rez+pas)==1){
rez+=pas;
}
}
fprintf(fout, "%lld\n", rez);
fclose(fin);
fclose(fout);
return 0;
}