Cod sursa(job #1504739)

Utilizator andreiskiorAndrei Cristian Nastase andreiskior Data 18 octombrie 2015 10:31:28
Problema Transport Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#include <iostream>

using namespace std;

int main()
{
    ifstream fin("transport.in");
    ofstream fout("transport.out");
    int s[16000],n,k,kc,sc,minim,maxim=0,i;
    fin>>n>>k;
    fin>>s[0];
    minim=s[0];
    for(i=1;i<n;++i){
        fin>>s[i];
        maxim+=s[i];
        if(s[i]>minim) minim=s[i];
    }
    --minim;
    while(minim!=maxim)
    {
        ++minim;
        sc=0;
        kc=0;
        for(i=0;i<n;++i)
        {
            sc+=s[i];
            if(sc>minim) {++kc;sc=s[i];}
        }
        if(sc!=0) ++kc;
        if(kc<=k) {fout<<minim;return 0;}
    }
    fout<<minim;
    return 0;
}