Cod sursa(job #446786)

Utilizator SpiderManSimoiu Robert SpiderMan Data 26 aprilie 2010 18:07:37
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
using namespace std;

#define IN            "secv2.in"
#define OUT           "secv2.out"
#define MAX_N         50005
#define MAX(a, b)     ((a) > (b) ? (a) : (b))
#define oo            2147483647

int V[MAX_N], N, K;

int main()
{
    ifstream f(IN);
    ofstream g(OUT);

    int i;

    for ( f >> N, f >> K, i = 1; i <= N; i++)
         f >> V[i];

    int rez = -oo, min = 0, poz = 0, st = 0, dr = 0;

    for (i = 1; i <= N; i++)
    {
        V[i] += V[i - 1];
        if (rez < V[i] - min && i - poz >= K)
            rez = V[i] - min, st = poz + 1, dr = i;
        if (min > V[i] && N - poz - 1 > K)
            min = V[i], poz = i;
    }

    g << st << " " << dr << " " << rez ;

    return 0;
}