Cod sursa(job #2358564)

Utilizator BAlexandruBorgovan Alexandru BAlexandru Data 28 februarie 2019 10:19:42
Problema Transport Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>

using namespace std;

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

int n,k,i,j,drum,maxim;
int v[16001],s[16001],suma[16001];
float s1;

int main()
{
    f>>n>>k;
    for (i=1;i<=n;i++)
    {
        f>>v[i];
        s[i]=s[i-1]+v[i];
    }
    float x=s[n],y=n;
    s1=x/y;

    i=1;
    while (i<=n)
    {
        drum++;
        while ((suma[drum]<s1 || drum==k) && i<=n)
        {
            if (suma[drum-1]<suma[drum]+v[i+2] && drum>1)
                suma[drum-1]+=v[i];
            else
                suma[drum]+=v[i];
            i++;
        }
        if (suma[drum]>maxim)
            maxim=suma[drum];
    }
    g<<maxim;
    return 0;
}