Cod sursa(job #2427959)

Utilizator Asgari_ArminArmin Asgari Asgari_Armin Data 3 iunie 2019 09:39:34
Problema Transport Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <algorithm>
using namespace std;
int k,n;
int v[15001];
ifstream cin ( "transport.in" );
ofstream cout ( "transport.out" );
bool verif(int val)
{
    int cnt=0,s=0,i;
    for(i=1; i<=n; i++)
    {
        s+=v[i];
        if(s>val)
        {
            s=v[i];
            cnt++;
        }
    }
    if(s!=0)
        cnt++;
    if(cnt<=k)
        return 1;
    return 0;
}
void cautbin()
{
    int r=0,pas=1<<27;
    while(pas)
    {
        if(verif(r+pas)==0)
            r+=pas;
        pas/=2;
    }
    cout << r+1;
}
int main()
{
    cin >> n >> k;
    for(int i=1; i<=n; i++)
        cin>>v[i];
    cautbin();
    return 0;
}