Cod sursa(job #2391136)

Utilizator blasterzMircea Dima blasterz Data 28 martie 2019 18:05:12
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <climits>

using namespace std;

#define N 50001

int n, K;
int a[N];


void solve() {
    int i, j;
    int s1 = 0, s2 = 0, minPos = 0, minSum = 0, result = INT_MIN, first = 0, last = 0;

    for (i = 1; i <= n; ++i) {
        s2 += a[i];
        if (i >= K) {
            if (s2 - minSum > result) {
                result = s2 - minSum;
                first = minPos + 1;
                last = i;
            }
            s1 += a[i - K + 1];
            if (s1 < minSum) {
                minSum = s1;
                minPos = i - K + 1;
            }
        }
    }

    cout << first << " " << last << " " << result << endl;
}

int main() {
    freopen("secv2.in", "r", stdin);
    freopen("secv2.out", "w ", stdout);
    

    cin >> n >> K;
    for (int i = 1; i <= n; ++i)
        cin >> a[i];
    solve();
}