Cod sursa(job #2074380)

Utilizator DovlecelBostan Andrei Dovlecel Data 24 noiembrie 2017 15:39:49
Problema Transport Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>
using namespace std;
int v[16001],n,k;
bool test(int vol)
{
    int j=0,i=1,s;
    while(i<=n && v[i]<=vol)
    {
        s=0;
        while(s+v[i]<=vol && i<=n)
        {
            s=s+v[i];
            i++;
        }
        j++;
    }
    if(j<=k && i==n+1)
        return true;
    else
        return false;
}
const int L=25;
int main()
{
    int i,pas,r;
    ifstream f("transport.in");
    ofstream g("transport.out");
    f>>n>>k;
    for(i=1;i<=n;i++)
        f>>v[i];
    f.close();
    pas=1<<L;
    r=0;
    while(pas!=0)
    {
        if(!test(r+pas))
            r=r+pas;
        pas=pas/2;
    }
    r++;
    g<<r;
    g.close();
    return 0;
}