Cod sursa(job #3213379)

Utilizator raileanu-alin-gabrielRaileanu Alin-Gabriel raileanu-alin-gabriel Data 13 martie 2024 08:36:42
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <deque>
const int NMAX=5*1e6+5;
#define int long long

using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");

deque <signed> dq;
signed a[NMAX];

signed main()
{
    int i, ans=0, n, k;
    cin>>n>>k;
    for(i=1; i<=n; i++) cin>>a[i];
    for(i=1; i<=n; i++)
    {
        while(!dq.empty() && i-dq.back()>=k) dq.pop_back();
        while(!dq.empty() && a[i]<a[dq.front()]) dq.pop_front();
        dq.push_front(i);
        ans+=a[dq.back()]*(i>=k);
    }
    cout<<ans<<'\n';
    return 0;
}