Cod sursa(job #142154)

Utilizator katakunaCazacu Alexandru katakuna Data 24 februarie 2008 11:22:02
Problema Transport Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<stdio.h>

int cap,nr,c,ok,min,v[17000],n,k,x,i;


int main(){


FILE *f=fopen("transport.in","r");
fscanf(f,"%d %d",&n,&k);

  for(i=1;i<=n;i++){
  fscanf(f,"%d",&v[i]);
    if(v[i]>min)
    min=v[i];
  }


fclose(f);


int a=1;

cap=min;



 while(a==1){


  nr=0;

   for(i=1;i<=n;i++){
   c=0;

      while(c+v[i]<=cap&&i<=n){
      c+=v[i];
      i++;
      }

   nr++;
   i--;
   }


  if(nr==k){
  break;
  }


  if(nr>k&&ok){
  cap=cap-1;
  break;
  }


  else{

    if(nr>k)
    cap++;


    else{
    cap--;
    }


  }



 }



FILE *g=fopen("transport.out","w");
fprintf(g,"%d",cap);
fclose(g);

return 0;
}