Cod sursa(job #262876)

Utilizator ConsstantinTabacu Raul Consstantin Data 19 februarie 2009 18:37:55
Problema Grupuri Scor 74
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>
int v[100001],i,k,s,ok,p,u,l,m,n,nr,max,mij;

int cond(int x){
m=0;nr=0;
for(i=1;i<=n;i++)

        {if(v[i]>=x)
                nr++;
        else
                {m+=v[i] ;
                 nr+=m/x;
                 m%=x;}
        }
if(nr>=k)
        {max=mij;
        return 1;
        }
return 0;
}

int main(){

FILE *f=fopen("grupuri.in","r");
fscanf(f,"%d%d",&k,&n);
for(i=1;i<=n;i++)
        {fscanf(f,"%d",&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;
        ok=cond(mij);
        if(ok)
                p=mij+1;
        else
              u=mij-1;
        }

fprintf(g,"%d",max);
fclose(g);



return 0;}