Cod sursa(job #2891387)

Utilizator Stefanstef99Stefan Puica Stefanstef99 Data 18 aprilie 2022 15:16:34
Problema Transport Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;

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

int a[20000],n,k;

int f(int c)
{
    int i=1;
    int ct=1,suma=0;
    for(i=1;i<=n;i++)
    {
        suma+=a[i];
        if(suma>c)
        {
            ct++;
            suma=a[i];
        }
    }
    return ct;
}

int main()
{
    int i;
    fin>>n>>k;
    for(i=1;i<=n;i++) fin>>a[i];
    int st=1,dr=1e9;
    int mij,p;
    while(st<=dr)
    {
        mij=(st+dr)/2;
        if(f(mij)<=k) dr=mij-1,p=mij;
        else st=mij+1;
    }
    fout<<p<<'\n';
    return 0;
}