Cod sursa(job #3361687)

Utilizator SebimunMunteanu Sebastian Sebimun Data 27 iulie 2026 19:00:51
Problema Secventa 2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;

long long n, m, v[200005], maxim = -999999999, k;
int main() {
    cin >> n >> k;
    for (long long i = 1; i <= n; i ++) {
        cin >> v[i];
    }
    long long suma = 0, sumaUltimelorKminus1Elemente = 0,
              pozInceput, pozFinal, inc = 1;
    for (long long i = 1; i <= n; i ++) {
        suma += v[i];
        sumaUltimelorKminus1Elemente += v[i];
        if (i-k+1 >= 1)
            sumaUltimelorKminus1Elemente -= v[i-k+1];
        if (suma > maxim) {
            maxim = suma;
            pozFinal = i;
            pozInceput = inc;
        }
        if (suma < sumaUltimelorKminus1Elemente) // Vrem sa ramanem cu cel putin
        {
            suma = sumaUltimelorKminus1Elemente; // k-1 elemente
            inc = i - k + 2;
        }
    }
    cout << pozInceput << ' ' << pozFinal << ' ' << maxim;
    return 0;
}