Cod sursa(job #2973143)

Utilizator dragos1102Dragos Vieru dragos1102 Data 31 ianuarie 2023 09:13:42
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.44 kb
#include <fstream>
#include <deque>
using namespace std;
ifstream cin ("deque.in");
ofstream cout ("deque.out");
int v[5000001],q[5000001],n,k;
int main() {
cin>>n >>k;
for(int i=1;i<=n;i++) {
    cin>>v[i];
}
long long sol=0;
int st=1,dr=0;
for(int i=1;i<=n;i++) {
    while(st<=dr && v[i]<=v[q[dr]])
        dr--;
    q[++dr]=i;
    if(q[st]==i-k)
        st++;
    if(i>=k)
        sol=sol+v[q[st]];
}
cout<<sol;
return 0;
}