Cod sursa(job #2426645)

Utilizator bianca_maria06Bianca Ciobanu bianca_maria06 Data 28 mai 2019 22:50:04
Problema Transport Scor 100
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>

int a[16000];

int main(){
    FILE*fin,*fout;
    fin=fopen("transport.in", "r");
    fout =fopen("transport.out", "w");
    int n,i,j,k,nt,c2,c,p,r,ok;
    fscanf(fin,"%d%d",&n,&k);
    for(i=0;i<n;i++)
      fscanf(fin,"%d",&a[i]);
    p=1;
    for(i=1;i<28;i++)
      p*=2;
    r=0;
    while(p>0){
      c=p+r;
      ok=0;
      nt=c2=0;
      for(i=0;i<n;i++){
          if(a[i]>c){
              ok=1;
          }
          if(a[i]>c2){
              c2=c;
              nt++;
          }
          c2-=a[i];
      }
      if(nt>k)
          ok=1;
      if(ok==1)
          r+=p;
      p/=2;
    }
    fprintf(fout,"%d",r+1);
    fclose(fin);
    fclose(fout);
    return 0;
}