Cod sursa(job #2358581)

Utilizator robertbirsanRobert Birsan robertbirsan Data 28 februarie 2019 10:30:29
Problema Transport Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>
#define MAXIM 16005

using namespace std;

ifstream f("transport.in");
ofstream g("transport.out");

long long int n,v[MAXIM],k,m,i,val=1,nr;

bool transport(int x)
{
    long aux=0,nr=0,i;
    for(i=1;i<=n;i++)
    {
        if(v[i]>x)
            return 0;

        if(v[i]>aux)
        {
            nr++;
            aux=x;
        }
        aux-=v[i];
    }
    if(nr<=k)
        return 1;
    else
        return 0;
}
int main()
{
    f>>n>>k;
    for(i=1;i<=n;i++)
        f>>v[i];
    while(k)
    {
        if(transport(m+k)==0)
        {
            m+=k;
        }
        k--;
    }
    m++;
    g<<m+1;
    return 0;
}