Cod sursa(job #243363)

Utilizator razvan_emPrecupas Razvan razvan_em Data 12 ianuarie 2009 20:01:59
Problema Transport Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
using namespace std;
ofstream ofis("transport.out");
ifstream ifis("transport.in");
int k,n,i,j,v[16032],nr;
long mij,s,s1;

int main()
{
    long max,c;
    ifis>>n>>k;
    s=0; max=0;
    for (i=1; i<=n; i++)
    {ifis>>v[i]; s+=v[i]; if (v[i]>max) max=v[i];}
    while (s>max)
    {
          mij=(s+max)/2;
          s1=0; nr=0; i=1;
          while (i<=n)
          {
                s1+=v[i]; 
                if (s1>mij) {s1=0; nr++;}
                else i++;
          }
          if (nr<=k) s=mij; 
          else max=mij;
          c=mij;
    }
    ofis<<c+1;
    return 0;
}