Cod sursa(job #2472008)

Utilizator eugen5092eugen barbulescu eugen5092 Data 11 octombrie 2019 21:39:56
Problema Transport Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <bits/stdc++.h>

using namespace std;
ifstream ci("transport.in");
ofstream cou("transport.out");
int n,k,st=1,dr=16000,mij,v[16000];


int verif (int cap)
{
    int nrtrans=1,cap1=cap,i;
    for(i=1; i<=n; i++)
    {
        cap-=v[i];
        if(cap<0)
        {
            cap=cap1;
            nrtrans++;
        }

    }
    return nrtrans;

}



int cautarebin()
{
    int p;
    while(st<=dr)
    {
        mij=(st+dr)/2;
        p=verif(mij);
          if(p<k )
        {
            dr=mij;
        }
        else
        {
            if(p>k)
            {
                st=mij;
            }else{
            if(p==k){
                return mij;
            }
            }
        }

    }

}



int main()
{
    int i,x;
    ci>>n>>k;
    for(i=1; i<=n; i++)
    {
        ci>>v[i];
    }
    x=cautarebin();
    cout<<x;

}