Cod sursa(job #1260765)

Utilizator TibixbAndrei Tiberiu Tibixb Data 11 noiembrie 2014 16:10:24
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<fstream>
using namespace std;
int n, k, i, d[5000003], p, u, v[5000003];
long long sol;
ifstream in("deque.in");
ofstream out("deque.out");
int main(){
    in>>n>>k;
    for(i=1; i<=n; i++)
        in>>v[i];
    d[1]=1;
    p=1; u=1;
    for(i=2; i<=n; i++){
        while(p<=u && v[i]<=v[d[u]])
            u--;
        d[++u]=i;
        if(d[u]-d[p]==k){
            p++;
        }
        if(i>=k)
            sol+=v[d[p]];
    }
    out<<sol;
return 0;
}