Pagini recente » Cod sursa (job #438127) | Cod sursa (job #2644061) | Cod sursa (job #702742) | Cod sursa (job #1692908) | Cod sursa (job #1677492)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int A[5000100],N,K;
long long sum;
deque<int> D;
void add(int i){
while(!D.empty() && A[D.back()] >= A[i]) D.pop_back();
D.push_back(i);
while(i - D.front() + 1 > K) D.pop_front();
}
int main(){
ios::sync_with_stdio(0);
fin.tie(0);
fin >> N >> K;
for(int i = 0;i<N;i++) fin >> A[i];
for(int i = 0;i<K;i++) add(i);
sum+=A[D.front()];
for(int i = K;i<N;i++){
add(i);
sum+=A[D.front()];
}
fout << sum;
return 0;
}