Cod sursa(job #2062320)

Utilizator Tudor27Tudor Iacob Tudor27 Data 10 noiembrie 2017 11:07:37
Problema Transport Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int v[17000],n;

int nt(int c){
    int r=0,x=c;
    for(int i=1;i<=n;i++){
        if(v[i]>c){
            return 999999;
        }
        if(x>=v[i]){
            x-=v[i];
        }
        else{
            x=c;
            r++;
            i--;
        }

    }
    return r;
}

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