Cod sursa(job #2674555)

Utilizator pregoliStana Andrei pregoli Data 19 noiembrie 2020 17:04:09
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>
using namespace std;
#define STOP fout.close(); exit(EXIT_SUCCESS);
ifstream fin("secv2.in");
ofstream fout("secv2.out");
///***********************
const int NMAX = 5e4 + 3;
int n, k, psum[NMAX];//partial sum

void read() {
    fin >> n >> k;
    for (int x, i = 1; i <= n; i++) {
        fin >> x;
        psum[i] = psum[i - 1] + x;
    }
}

int main() {
    read();
    int ans = -1e9, pstart = 1, start, end, mini = 0;
    for (int i = k; i <= n; i++) {
        if (i > k && mini > psum[i - k]) {
            mini = psum[i - k];
            pstart = i - k + 1;
        }
        if (i >= k && ans < psum[i] - mini) {
            ans = psum[i] - mini;
            start = pstart;//possible start
            end = i;
        }
    }
    fout << start << ' ' << end << ' ' << ans << endl;
    STOP
}