Cod sursa(job #2803351)

Utilizator andreifilimonPopescu Filimon Andrei Cosmin andreifilimon Data 19 noiembrie 2021 21:05:19
Problema Transport Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
using namespace std;
ifstream cin("transport.in");
ofstream cout("transport.out");
long long v[16001];
long long n,k;
long long ver(long long a)
{
   long  long i,p=k,s=a;
    for(i=1; i<=n && p!=0; i++)
        if(v[i]<=s)
            s-=v[i];
        else
        {
            p--;
            s=a;
            i--;
        }
    if(i==n+1)
        return 1;
    return 0;
}

long long cautbin(long long a, long long b)
{
    long c;
    if(a==b)
        return a;
    c=(a+b)/2;
    if(ver(c))
        return cautbin(a,c);
    else
        return cautbin(c+1,b);
}

int main()
{
    long long i;
    cin>>n>>k;
    for(i=1; i<=n; i++)
        cin>>v[i];
    cout<<cautbin(1,256000000)<<'\n';
    return 0;
}