Cod sursa(job #3324638)

Utilizator Stoica_Matei0923Stoica Matei Cristian Mihail Stoica_Matei0923 Data 22 noiembrie 2025 19:18:29
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <fstream>
#include <vector>

using namespace std;

const int INF = 2000000000;

int main() {

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

    int N, K;
    fin >> N >> K;


    vector<int> P(N + 1);
    P[0] = 0;

    for (int i = 1; i <= N; ++i) {
        int val;
        fin >> val;
        P[i] = P[i - 1] + val;
    }

    int max_sum = -INF;
    int best_start = -1;
    int best_end = -1;


    int min_prefix = P[0];
    int min_prefix_idx = 0;

    for (int j = K; j <= N; ++j) {

        int current_check_idx = j - K;

        if (P[current_check_idx] < min_prefix) {
            min_prefix = P[current_check_idx];
            min_prefix_idx = current_check_idx;
        }

        int current_sum = P[j] - min_prefix;

        if (current_sum > max_sum) {
            max_sum = current_sum;
            best_start = min_prefix_idx + 1;
            best_end = j;
        }
    }

    fout << best_start << " " << best_end << " " << max_sum << "\n";

    fin.close();
    fout.close();

    return 0;
}