Cod sursa(job #2781790)

Utilizator Nitr0genVlad Ioan Nitr0gen Data 10 octombrie 2021 14:46:48
Problema Secventa 2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin ("secv2.in");
ofstream fout("secv2.out");

int main() {
    int n, k;
    fin >> n >> k;
    int a[50001];
    for(int i = 1; i <= n; i++) cin >> a[i];
    int sum = 0, ans, l, r, last=0, j=1;
    for(int i = 1; i <= k; i++) {
        sum += a[i];
    }
    ans = sum;
    l = 1;
    r = k;
    for(int i = k + 1; i <= n; i++) {
        sum += a[i];
        sum -= a[i - k];
        last += a[j++];
        if(last < 0) {
            last = 0;
            l = j;
            if(sum > ans) {
                ans = sum;
                r = i;
            }
        } else {
            if(sum + last > ans) {
                ans = sum + last;
                r = i;
            }
        }
    }
    fout << l << ' ' << r << ' ' << ans << '\n';
}