Cod sursa(job #468468)

Utilizator alex_dincaDinca Alexandru-Nicolae - UPB alex_dinca Data 3 iulie 2010 19:53:28
Problema Secventa 2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;

const char iname[] = "secv2.in";
const char oname[] = "secv2.out";

const int MAXN = 100001;

int S[MAXN], n, k;

int main(void) {
    int i;
    ifstream in(iname);
    in >> n >> k;
    for(i = 1; i <= n; ++i)
        in >> S[i];
    int bestSum = -int(2e9), sum = 0, beg, end, idx;
    for(i = 1; i <= n; ++i){
        if (sum < 0)
            sum = S[i], idx = i;
        else
            sum += S[i];
        if (bestSum < sum && i - idx >= k - 1)
            bestSum = sum, beg = idx, end = i;
    }
    ofstream out(oname);
    out << beg << " " << end << " " << bestSum;
    in.close(), out.close();
    return 0;
}