Cod sursa(job #1339116)

Utilizator vladttturcuman vlad vladtt Data 10 februarie 2015 18:06:41
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>

using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");

long long maxx,ii,s,a,n,k;

int er[50001];

struct vlad{
    int v, p;

} qw[50001];

int main()
{
    fin>>n>>k;

    for(int i=1;i<=n;i++)
    {
        fin>>a;
        er[i]=er[i-1]+a;
    }

    qw[n].v=er[n]; qw[n].p=n;

    for(int i=n-1;i>=k;i--)
    {
        if(qw[i+1].v<er[i])
            qw[i].v=er[i],qw[i].p=i;
        else
            qw[i]=qw[i+1];
    }

    maxx=er[k]; ii=1; s=k;

    for(int i=1;i<=n-k+1;i++)
    {
        if(maxx<qw[i+k-1].v-er[i-1])
        {
            maxx=qw[i+k-1].v-er[i-1];
            ii=i;
            s=qw[i+k-1].p;
        }
    }

    fout<<ii<<' '<<s<<' '<<maxx<<'\n';

    return 0;
}