Cod sursa(job #2062317)

Utilizator Tudor27Tudor Iacob Tudor27 Data 10 noiembrie 2017 11:04:32
Problema Transport Scor 0
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=0;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<<20;
    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+2;
    return 0;
}