Cod sursa(job #2347165)

Utilizator Leonard123Mirt Leonard Leonard123 Data 18 februarie 2019 16:03:04
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include<fstream>
ifstream cin("deque.in");
ofstream cout("deque.out");
using namespace std;
#define maxn 5000005
int v[maxn], dek[maxn], k, n;
long long sum;
int main(){
    cin>>n>>k;
    for(int i=1; i<=n; i++)
        cin>>v[i];
    int fr=1, bk=0;
    for(int i=1; i<=n; i++){
        while(fr<=bk && v[i]<=v[dek[bk]])
            bk--;
        dek[++bk]=i;
        if(dek[fr]==i-k)
            fr++;
        if(i>=k)
            sum+=v[dek[fr]];
    }
    cout<<sum;
    return 0;
}