Cod sursa(job #1010344)

Utilizator diana97Diana Ghinea diana97 Data 14 octombrie 2013 18:52:33
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n, k, v[50000], m[50000];

void initializeaza ()
{
    f>>n>>k;
    int x;
    for (int i=1; i<=n; i++)
    {
        f>>x;
        v[i]=v[i-1]+x;
        if (v[i]<v[m[i-1]]) m[i]=i;
        else m[i]=m[i-1];
    }
}

void rezolva ()
{
    int smax=v[k], s, i0, i1;
    i0=1; i1=k;
    for (int i=k+1; i<=n; i++)
    {
        if (v[i]>smax) {smax=v[i]; i0=1; i1=i;}
        s=v[i]-v[m[i-k+1]];
        if (s>smax) {smax=s; i0=m[i-k+1]+1; i1=i;}
    }
    g<<i0<<' '<<i1<<' '<<smax<<'\n';
}


int main ()
{
    initializeaza ();
    rezolva ();
}