Cod sursa(job #2988805)

Utilizator edimogaMoga Edi edimoga Data 5 martie 2023 14:55:04
Problema Transport Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#include <climits>
using namespace std;
ifstream in ("transport.in");
ofstream out ("transport.out");
long long v[16001],n,k;
bool verif(long long x)
{
    long long last=0;
    long long  j=k;
    for(int i=1;i<=n;i++)
    {
        if(v[i]-last>x)
        {
            last=v[i-1];
            i--;
            j--;
        }
        if(j==0)
            return 0;

    }
    return 1;
}
int main()
{
    int x;
    long long minim=INT_MAX,dr,st,m;
    in>>n>>k;
    for(int i=1;i<=n;i++)
    {
        in>>x;
        v[i]=x+v[i-1];
    }
     st=1;
     dr=160000;
    while(st<=dr)
    {
        m=(st+dr)/2;
        if(verif(m)!=true)
           st=m+1;
        else
        {
            minim=m;
            dr=m-1;
        }

    }
    out<<minim;
    return 0;
}