Cod sursa(job #253253)

Utilizator 630r63Ilinca George Mihai 630r63 Data 5 februarie 2009 16:40:34
Problema Transport Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
 #include<fstream.h>  
 int a[16000];  
 long i,n,k,c,ok,nr,s,x,y,min;  
 ifstream f("transport.in");  
 ofstream g("transport.out");  
 int main(){  
 f>>n>>k;  
 for(i=1;i<=n;i++){  
     f>>a[i];  
     if(a[i]>c)  
       c=a[i];  
      x=x+a[i];}  
 s=0;  
 ok=0;  
 y=c;  
   
 while(y<=x){  
 s=0;nr=0;  
 c=(x+y)/2;  
 for(i=1;i<=n;i++)  
   {s=s+a[i];  
     if(s>c){  
     s=a[i];nr++;}  
    }  
  nr++;  
 if(nr>k){  
      y=c+1;  
      }  
  else {  
     min=c;  
     x=c-1;  
        }  
 }  
 g<<min;  
   
 f.close();  
 g.close();  
 return 0;
}