Cod sursa(job #3163697)

Utilizator XTrim07Florea Andrei XTrim07 Data 31 octombrie 2023 21:43:36
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <bits/stdc++.h>
using namespace std;

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

const int MAX_SIZE = 50000;
vector<int> sum(MAX_SIZE + 1);

int main() {
    int n, k;
    fin >> n >> k;
    for (int i = 1; i <= n; ++i) {
        int elem;
        fin >> elem;
        sum[i] = elem + sum[i - 1];
    }
    int indice_inceput = 1, indice_final = k;
    int sum_min = 0, suma_max = sum[k];
    int curr_poz = 1;
    for (int i = k + 1; i <= n; ++i) {
        if (sum[i - k] < sum_min) {
            sum_min = sum[i - k];
            curr_poz = i - k + 1;
        }
        if (sum[i] - sum_min > suma_max) {
            suma_max = sum[i] - sum_min;
            indice_inceput = curr_poz;
            indice_final = i;
        }
    }
    fout << indice_inceput << ' ' << indice_final << ' ' << suma_max << '\n';
    return 0;
}