Cod sursa(job #1801559)

Utilizator MirceaTMircea Timpuriu MirceaT Data 9 noiembrie 2016 10:35:46
Problema Transport Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>
using namespace std;
int main()
{
    int n,k,i,v[16010],st,dr,mid,s=0,counter=1;
    ifstream fin("transport.in");
    ofstream fout ("transport.out");
    fin>>n>>k;
    for(i=0;i<n;++i)
    {
        fin>>v[i];
    }
   st=1;
    dr=2560000000;
   while(st<=dr)
   {

    mid=(st+dr)/2;
    for(i=0;i<n;++i)
    {
        s=s+v[i];
        if(s>mid)
        {
            counter++;
            s=v[i];
        }
    }
    if(counter>k)
        {
            st=mid+1;
            counter=1;
        }
        else
        {
            dr=mid-1;
            counter=1;
        }
   }
   fout<<dr-1;

}