Cod sursa(job #3346342)

Utilizator Razvan23Razvan Mosanu Razvan23 Data 13 martie 2026 11:46:20
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <deque>
#include <vector>
#include <fstream>

int main()
{
    std::ifstream fin("deque.in");
    std::ofstream fout("deque.out");
    int n, k, i, x;
    long long suma = 0;
    std::deque<std::pair<int, int>> q;
    std::vector<int> v;
    fin >> n >> k;
    for(i=0;i<n;i++)
    {
        fin >> x;
        if(q.empty()) q.push_back({x, i});
        else
        {
            while(!q.empty() && q.back().first >= x)
                q.pop_back();
            while(i >= k && !q.empty() && q.front().second < i - k + 1)
                q.pop_front();
            q.push_back({x, i});
        }
        if(i >= k - 1) suma += q.front().first;
    }
    fout << suma;
    fin.close();
    fout.close();
    return 0;
}