Cod sursa(job #3369901)

Utilizator Maryy_1369Gociu Maria Anastasia Maryy_1369 Data 22 octombrie 2026 12:26:36
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#include<deque>
using namespace std;

ifstream cin("deque.in");
ofstream cout("deque.out");
int v[5000004];
int main()
{
    int n,k;
    cin>>n>>k;
    deque<int>dq;
    for(int i=1;i<=n;i++)cin>>v[i];
    long long ans=0;
    for(int i=1;i<=n;i++){
        while(!dq.empty() && v[dq.back()]>=v[i])dq.pop_back();//scoatem ce nu mai poate fi mini
        dq.push_back(i);
        if(dq.front()<=i-k)dq.pop_front();//nu mai fi mini , a trecut windoul de ace el
        if(i>=k){
            ans+=v[dq.front()];//dc avem o sevc -> adaugam minimu
        }
    }
    cout<<ans;
    return 0;
}