Cod sursa(job #46328)

Utilizator DastasIonescu Vlad Dastas Data 2 aprilie 2007 15:54:17
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>
#include <iostream>

using namespace std;

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

int n, a[50000], k;


void read()
{
    in >> n >> k;
    for ( int i = 0; i < n; ++i )
        in >> a[i];
}


int main()
{
    read();

    int s = -2147483647, tmp = 0;
    int tmpmin = -2147483647;
    int start = 0, stop = 0;

    for( int i = 0, j = 0; j < n; j++ )
    {
        tmp += a[j];

        if( tmp > s && abs(j-i)+1 >= k )
        {
            s = tmp;
            start = i;
            stop = j;
        }
        else if( tmp < tmpmin )
        {
            i = j + 1;
            tmp = tmpmin;
        }
    }

    cout << start+1 << " " << stop+1 << " " << s << endl;

	return 0;
}