Cod sursa(job #2934828)
Utilizator | Data | 6 noiembrie 2022 11:39:49 | |
---|---|---|---|
Problema | Deque | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include <fstream>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
int i, j, n, m, k, st, dr;
int d[5000002];
int v[5000002];
long long s;
int main(){
cin>>n>>k;
cin>>v[1];
st=1;
dr=1;
d[1]=1;
for(i=2;i<=n;i++){
cin>>v[i];
while(st<=dr && v[d[dr]]>v[i])
dr--;
d[++dr]=i;
if(i-k+1>d[st])
st++;
if(i>=k)
s+=v[d[st]];
}
cout<<s;
}