Cod sursa(job #1304014)

Utilizator alinmocanu95FMI Alin Mocanu alinmocanu95 Data 28 decembrie 2014 16:24:51
Problema Transport Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<iostream>
#include<fstream>
using namespace std;

int main()
{
    ifstream f("transport.in");
    ofstream g("transport.out");
    unsigned int n,k,t,p,i,c,s,w,a[20000],max=0;
    f>>n>>k;
    t=0; //total
    p=k; //transporturi ramase
    for(i=1;i<=n;i++)
        {f>>a[i];t=t+a[i];
        if(a[i]>max) max=a[i];}

    i=1;
    c=max; //capacitatea ceruta
    s=0; //adunarea volumelor adaugate
    w=t; //total continuu

    while(p>0)
       {
        if(w>0)
              if((s<c) && (s+a[i]<=c))
                  {
                      s=s+a[i];w=w-a[i];i++;
                  }
              else {p--; s=0;}
        else {p=0;}

       if((p==0) && (w>0))
        {
            c++; p=k; w=t;s=0; i=1;
        }
       }
    g<<c;
    f.close();
    g.close();
    return 0;
}