Cod sursa(job #265193)

Utilizator ConsstantinTabacu Raul Consstantin Data 23 februarie 2009 15:44:38
Problema Grupuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#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;}