Cod sursa(job #2044260)
| Utilizator | Data | 21 octombrie 2017 09:05:36 | |
|---|---|---|---|
| Problema | Deque | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
///#include <iostream>
#include <fstream>
#include <deque>
#include <queue>
#define N 5000005
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
int n,v[N];
deque<int> D;
int main()
{
int i,k;
long long s=0;
cin>>n>>k;
for(i=1; i<=n; ++i) cin>>v[i];
for(i=1; i<=n; ++i)
{while(!D.empty() && v[D.back()]>=v[i]) D.pop_back();
if(i-k==D.front()) D.pop_front();
if(i>=k)
s+=v[D.front()];
}
cout<<s;
return 0;
}
