Cod sursa(job #1436035)

Utilizator TimoteiCopaciu Timotei Timotei Data 14 mai 2015 21:55:56
Problema Transport Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>

using namespace std;
int n,ture,sMom,kMom,mx,limS,limD,mij,sumMax,v[16005];
int main()
{
  ifstream f("transport.in");
  ofstream g("transport.out");
  f>>n>>ture;
  for(int i=1;i<=n;i++)
  {
      f>>v[i];
      if(v[i]>mx)mx=v[i];
      sumMax+=v[i];
  }
    limS=mx;
    limD=sumMax;
    while(limS<=limD)
    {
        mij=limS+(limD-limS)/2;
        sMom=0;
        kMom=1;
        for(int i=1;i<=n;i++)
        {
           if(sMom+v[i]<=mij)sMom+=v[i];
           else
           {
               sMom=v[i];
               kMom++;
           }

        }
        if(kMom<=ture)limD=mij-1;
        else limS=mij+1;
    }
    g<<limS;

  return 0;
}