Pagini recente » Cod sursa (job #656768) | Profil EugenStoica | Cod sursa (job #746579) | Cod sursa (job #152279) | Cod sursa (job #333863)
Cod sursa(job #333863)
#include <fstream>
#include <deque>
using namespace std;
deque<int> list;
deque<int>::iterator it;
int N,K,A[5000010],i;
long sum;
int main () {
ifstream in;
ofstream out;
in.open("deque.in");
out.open("deque.out");
in >> N >> K;
for (i=1;i<=N;i++) {
in >> A[i];
}
for (i=1;i<=N;i++) {
while(!list.empty()&&A[i]<A[list.back()]) {
list.pop_back();
}
list.push_back(i);
if (list.front()==i-K) list.pop_front();
if (i>=K) sum+=A[list.front()];
}
out<<sum;
out.close();
return 0;
}