Cod sursa(job #1021522)

Utilizator andreeaghetuUNIBUC andreeaghetu andreeaghetu Data 3 noiembrie 2013 22:18:02
Problema Transport Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("transport.in");
ofstream out ("transport.out");
int N, K, C, v[16005];
bool verifica (int c)
{
    int s=0, ct=1;
    for (int i=0;i<N;++i)
    {
        if (s+v[i]<=c)
            s=s+v[i];
        else
        {
            --i;
            s=0;
            ++ct;
        }

    }
    if (ct<=K)
        return true;
    return false;
}
int main()
{
    in>>N>>K;
    int maxim=0;
    for (int i=0;i<N;++i)
    {
        in>>v[i];
        if (v[i]>maxim)
            maxim=v[i];
    }
    for (int i=maxim;;++i)
    {
        if (verifica(i))
        {
            out<<i;
            return 0;
        }

    }

}