Cod sursa(job #446761)

Utilizator SpiderManSimoiu Robert SpiderMan Data 26 aprilie 2010 17:31:21
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 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 - 1 >= K)
            rez = V[i] - min, st = poz + 1, dr = i;
        if (min > V[i])
            min = V[i], poz = i;
    }

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

    return 0;
}