Pagini recente » Cod sursa (job #1538824) | Cod sursa (job #1478424) | Cod sursa (job #1557802) | Cod sursa (job #61832) | Cod sursa (job #1490856)
#include <iostream>
#include <fstream>
#include <deque>
#
#define NMAX 5000001
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
int a[NMAX],n,k,s;
deque<int> dcoada;
int main()
{
in >> n >> k;
for(int i=1;i<=n;i++)
{
in >> a[i];
}
for(int i=1;i<=n;i++)
{
while(!dcoada.empty() && a[i] <= a[dcoada.back()]) dcoada.pop_back();
dcoada.push_back(i);
if(dcoada.front()==i-k)
dcoada.pop_front();
if(i-k>=0){
s=s+ a[dcoada.front()];
//cout << a[dcoada.front()] << " " << dcoada.front() << endl;
}
}
out << s;
return 0;
}