Cod sursa(job #1961478)

Utilizator alexconstantinalexandru constantin alexconstantin Data 11 aprilie 2017 10:04:22
Problema Transport Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <iostream>

using namespace std;

int main()
{
    int n,l1,l2,elem,m,t,s,i,maxim,v[1000],k;
    cin>>n>>k;
    l1=0;l2=0;
    for(i=0;i<=n;i++)
    {
      cin>>v[i];
      if(v[i]>l1)
        l1=v[i];
        l2=l2+v[i];
    }
    while(l1<=l2)
    {
      m=(l1+l2)/2;
      t=1;s=0;
      for(i=1;i<=n;i++)
        if(s+v[i]<m)
          s+=v[i];
      else{
          t++;
        s=v[i];
      }
      if(t>k)
        l1=m+1;
      else{
          l2=m-1;
          elem=m;
      }
    }
    cout<<elem;
    return 0;
}