Cod sursa(job #3373334)

Utilizator HimaiDragnea Mihai-Alexandru Himai Data 6 noiembrie 2026 16:58:23
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <deque>
#include <fstream>
using namespace std;

const int MAX_N = 5000000;
int A[MAX_N];

int main() {
    ifstream fin("deque.in");
    ofstream fout("deque.out");
    int N, K;
    fin >> N >> K;
    deque<int> pozitii;
    for (int i = 0; i < K; ++i) {
        fin >> A[i];
        while (!pozitii.empty() && A[pozitii.front()] > A[i]) {
            pozitii.pop_front();
        }
        pozitii.push_front(i);
    }
    long long sum = A[pozitii.back()];
    for (int i = K; i < N; ++i) {
        fin >> A[i];
        while (!pozitii.empty() && A[pozitii.front()] > A[i]) {
            pozitii.pop_front();
        }
        pozitii.push_front(i);
        while (pozitii.back() <= i - K) {
            pozitii.pop_back();
        }
        sum += A[pozitii.back()];
    }
    fout << '\n' << sum;
}