Cod sursa(job #2884543)

Utilizator Horia_haivasHaivas Horia Horia_haivas Data 3 aprilie 2022 22:09:55
Problema Transport Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
/*
    "TLE is like the wind, always by my side"
    - Yasuo - 2022 -
*/
#include <bits/stdc++.h>
#define debug(x) cerr << #x << " " << x << "\n"
#define debugs(x) cerr << #x << " " << x << " "


using namespace std;

ifstream fin("transport.in");
ofstream fout("transport.out");

int v[16001],n,i,k,inaltime,drum,s,mx,j;

/*
    1 - dreapta
    2 - jos
    3 - stinga
    4 - sus
*/

bool corect(int a)
{
    s=0;
    drum=0;
    for (j=1;j<=n;j++)
    {
        s+=v[j];
        if (s>a)
        {
            drum++;
            s=v[j];
        }
    }
    drum++;
    if (drum<=k)
        return 1;
    else
        return 0;
}

int main()
{
    fin >> n >> k;
    for (i=1; i<=n; i++)
    {
        fin >> v[i];
        if (v[i]>mx)
            mx=v[i];
    }
    int r=0, pas=(1<<30);
    while(pas)
    {
        if(!corect(r+pas))
            r+=pas;
        pas/=2;
    }
    fout <<r+1;
}