Cod sursa(job #1711440)

Utilizator ivan.tudorIvan Tudor ivan.tudor Data 31 mai 2016 11:26:57
Problema Transport Scor 50
Compilator c Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>
#include <stdlib.h>
int salt[16009];
int k,n;
int poate(int c){
    int i=0, nr, s;
    for(nr=0;nr<k && i<n;nr++){
        s=0;
        while(i<n && s+salt[i]<=c)
            s+=salt[i++];
    }
    if(i==n)
      return 1;
    else
      return 0;
}
int main()
{
  int pas=1<<13,j;
  FILE*fin,*fout;
  fin=fopen("transport.in","r");
  fscanf(fin,"%d%d",&n,&k);
  for(j=0;j<n;j++)
    fscanf(fin,"%d",&salt[j]);
  j=0;
  while(pas!=0){
    if(poate(j+pas)==0)
      j+=pas;
    pas/=2;
  }
  j++;
  fout=fopen("transport.out","w");
  fprintf(fout,"%d",j);
  fclose(fout);
  return 0;
}