Pagini recente » Istoria paginii runda/oji-2015-cls11-12124151 | Cod sursa (job #2653219) | Cod sursa (job #1100233) | Cod sursa (job #525780) | Cod sursa (job #3296362)
#include <bits/stdc++.h>
#define pb push_back
//#define int long long
using namespace std;
const int N=5e6+5;
deque<pair<int,int>> dq;
int v[N];
void add(int x, int i)
{
while(!dq.empty()&&dq.back().first>=x) dq.pop_back();
dq.pb({x,i});
}
void del(int x, int i)
{
while(!dq.empty()&&dq.front().second<=i) dq.pop_front();
}
signed main()
{
ifstream cin("deque.in");ofstream cout("deque.out");
int n,k;
cin>>n>>k;
for(int i=1;i<=n;++i) cin>>v[i];
int ans=0;
for(int i=1;i<=n;++i)
{
add(v[i],i);
if(i>k) del(v[i-k],i-k);
if(i>=k) ans+=dq.front().first;
}
cout<<ans;
}