Pagini recente » Ciorna | Cod sursa (job #2937540) | Cod sursa (job #2001743) | Cod sursa (job #2682034) | Cod sursa (job #521124)
Cod sursa(job #521124)
#include <stdio.h>
#include <algorithm>
using namespace std;
FILE *f=fopen("grupuri.in","r");
FILE *g=fopen("grupuri.out","w");
long long n,k,v[100001],u=0,p=1;
bool ver(long long a){
long long s=0,x;
for(int register i=1;i<=n;i++){
x=min(a,v[i]);;
s+=x;
}
if(s>=a*k){
return true;
}
return false;
}
int main(void){
register long long i,m,j;
fscanf(f,"%lld %lld",&k,&n);
for(i=1;i<=n;i++){
fscanf(f,"%lld",&v[i]);
u+=v[i];
}
u/=k;
long long register sol=0;
while(p<=u){
m=p+(u-p)/2;
if(ver(m)){
sol=m;
p=m+1;
}
else
u=m-1;
}
fprintf(g,"%lld",sol);
return 0;
}