Cod sursa(job #2801240)

Utilizator mediocrekarmaChirvasa George Matei mediocrekarma Data 15 noiembrie 2021 16:33:02
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <bits/stdc++.h>
using namespace std;

int main() {
    ifstream fin("secv2.in");
    ofstream fout("secv2.out");
    fin.tie(0);
    std::ios_base::sync_with_stdio(0);
    const int MAX_N = 50000;
    int n, k, partialSums[MAX_N], v[MAX_N];
    fin >> n >> k;
    partialSums[0] = 0;
    for (int i = 0; i < n; ++i) {
        fin >> v[i];
        partialSums[i + 1] = partialSums[i] + v[i];
    }
    int ans = partialSums[n], finish = n, minElementPoz = 0, start = 1;
    for (int i = k; i <= n; ++i) {
        if (partialSums[minElementPoz] > partialSums[i - k]) {
            minElementPoz = i - k;
        }
        if (ans < partialSums[i] - partialSums[minElementPoz]) {
            ans = partialSums[i] - partialSums[minElementPoz];
            finish = i;
            start = minElementPoz + 1;
        }
    }
    fout << start << ' ' << finish << ' ' << ans;
}