Cod sursa(job #1712918)

Utilizator BratuAlexandruBratu Alexandru Razvan BratuAlexandru Data 4 iunie 2016 09:53:43
Problema Transport Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>

using namespace std;
ifstream in("transport.in");
ofstream out("transport.out");
int v[16002],t,n;
bool verif(int k)
{
    int nr=0,c=0,i;
    for(i=1; i<=n; i++)
    {
        if(v[i]>c)
        {
            nr++;
            c=k;
        }
        if(v[i]>c) return false;
        c-=v[i];
    }
    return (nr<=t);
}
int main()
{
    in>>n>>t;
    for(int i=1; i<=n; i++)
    {
        in>>v[i];

    }
    int i=0;
    int pas=1<<28;
    while(pas!=0)
    {
        if(!verif(i+pas))
            i+=pas;
        pas/=2;
    }
    i++;
    out<<i;
    return 0;
}