Cod sursa(job #1801111)

Utilizator alexandra_paticaAndreea Alexandra Patica alexandra_patica Data 8 noiembrie 2016 17:54:51
Problema Transport Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
using namespace std;
ifstream f ("transport.in");
ofstream g ("transport.out");
long long n, k, u, a[16001], p, m, i;
int verif (int m)
{
    int s=0, nr=0;
    for (int i=n; i>0; i--){
        if (s+a[i]<=m) s+=a[i];
        else{
            s=a[i];
            nr++;
        }
    }
    nr++;
    if (nr<=k) return 1;
    return 0;
}
int main ()
{
    f >> n >> k;
    u=0;
    for (i=n; i>0; i--)
        f >> a[i], u+=a[i];
    p=1;
    while (p<=u){
        m=p+(u-p)/2;
        if (verif(m)) u=m-1;
        else p=m+1;

    }
    g << p;
}