Pagini recente » Cod sursa (job #423493) | Cod sursa (job #2061957) | Cod sursa (job #1390761) | Cod sursa (job #725388) | Cod sursa (job #1677458)
#include <fstream>
#include <deque>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
int a[5000005],N,K;
long long sum;
deque <int> D;
void add(int x)
{
while(!D.empty() && a[D.back()]>=a[x])
D.pop_back();
D.push_back(x);
while(x-D.front()+1>K)
D.pop_front();
}
int main(){
cin>>N>>K;
for(int i=1; i<=N; ++i)
cin>>a[i];
for(int i=1; i<=K; ++i)
add(i);
sum+=a[D.front()];
for(int i=K+1; i<=N; ++i){
add(i);
sum+=a[D.front()];
}
cout<<sum;
return 0;
}