Cod sursa(job #759864)

Utilizator SchumiDumitru Andrei Georgian Schumi Data 19 iunie 2012 17:46:33
Problema Secventa 2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <cstdio>

using namespace std;

const int maxn = 50005;
int n, k, v[maxn], start, end, sum = -0x3f3f3f3f, pozmin, minim = 0x3f3f3f3f;

int main()
{
    int i;
    freopen ("secv2.in", "r", stdin);
    freopen ("secv2.out", "w", stdout);
    scanf("%d %d", &n, &k);
    for(i = 1; i <= n; ++i) {
        scanf("%d", &v[i]);
        v[i] += v[i - 1];
    }
    for(i = 1; i <= n; ++i) {
        if(v[i] < minim) {
            minim = v[i];
            pozmin = i;
        }
        if((v[i] - minim > sum) && (i - pozmin + 1>= k)) {
            start = pozmin + 1;
            end = i;
            sum = v[i] - minim;
        }
    }
    printf("%d %d %d\n", start, end, sum);

    return 0;
}