Cod sursa(job #2801239)

Utilizator mediocrekarmaChirvasa George Matei mediocrekarma Data 15 noiembrie 2021 16:21:37
Problema Secventa 2 Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 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], start = 1, finish = n;
    for (int i = k; i <= n; ++i) {
        int* minim = min_element(partialSums, partialSums + i - k + 1);
        if (ans < partialSums[i] - *minim) {
            ans = partialSums[i] - *minim;
            start = minim - partialSums + 1;
            finish = i;
        }
    }
    fout << start << ' ' << finish << ' ' << ans;
}