Cod sursa(job #2358751)

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

using namespace std;

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

int n,k,i,j,drum,maxim,ult;
float 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++;
        ult=drum-1;
        while ((suma[drum]<s1 || drum==k) && i<=n)
        {
            if (suma[drum-1]<suma[drum]+v[i+2] && drum>1 && ult==drum-1)
            {
                suma[drum-1]+=v[i];
                ult=drum-1;
            }
            else
            {
                suma[drum]+=v[i];
                ult=drum;
            }
            i++;
        }
        if (suma[drum]>maxim)
            maxim=suma[drum];
    }
    g<<maxim;
  /*  g<<"\n";
    for (i=1;i<=drum;i++)
        g<<suma[i]<<" ";
        */
    return 0;
}