Cod sursa(job #2988801)

Utilizator edimogaMoga Edi edimoga Data 5 martie 2023 14:49:45
Problema Transport Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
#include <climits>
using namespace std;
ifstream in ("transport.in");
ofstream out ("transport.out");
long long s,v[16001],n,k,m;
bool verif(long long x)
{
    int last=0;
    int 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_MIN;
    in>>n>>k;
    for(int i=1;i<=n;i++)
    {
        in>>x;
        v[i]=x+v[i-1];
    }
    int 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;
}