Pagini recente » Cod sursa (job #1230102) | Cod sursa (job #799650) | Cod sursa (job #1913983) | Cod sursa (job #45577) | Cod sursa (job #265193)
Cod sursa(job #265193)
#include<stdio.h>
long long int v[100001],i,k,s,ok,p,u,l,m,n,nr,max,mij;
int main(){
FILE *f=fopen("grupuri.in","r");
fscanf(f,"%lld%lld",&k,&n);
for(i=1;i<=n;i++)
{fscanf(f,"%lld",&v[i]);
s+=v[i];}
fclose(f);
p=1;
u=s/k;
FILE *g=fopen("grupuri.out","w");
while(p<=u)
{mij=(p+u)>>1;
nr=0;m=k*mij;
for(i=1;i<=n&&nr<=m;i++)
if(v[i]>=mij)nr+=mij;
else
nr+=v[i];
if(nr>=m){max=mij;p=mij+1;}
else u=mij-1;
}
fprintf(g,"%lld",max);
fclose(g);
return 0;}