Cod sursa(job #3251615)

Utilizator retro-pigeonIacob Andrei retro-pigeon Data 26 octombrie 2024 11:59:21
Problema Secventa 2 Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>

typedef signed long int nr;

using namespace std;

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

int main() {
    nr vect[50001] = {};
    nr prefixSums[50002] = {};
    nr N, K, S;

    fin >> N >> K;

    for (int i = 1; i <= N; ++i) fin >> vect[i];

    S = 0;

    for (int i = 1; i <= N; ++i) {
        S += vect[i];
        prefixSums[i + 1] = S;
    }

    int maxSum = -25001;
    int maxSt = 0;
    int maxDr = 0;

    for (int st = 1; st <= N - K; ++st) {
        for (int dr = st + K; dr <= N; ++dr) {
            S = prefixSums[dr + 1] - prefixSums[st];

            if (S > maxSum) {
                maxSum = S;
                maxSt = st;
                maxDr = dr;
            }
        }
    }

    fout << maxSt << ' ' << maxDr << ' ' << maxSum;

    return 0;
}