Pagini recente » Cod sursa (job #1455968) | Cod sursa (job #1852366) | Cod sursa (job #1817841) | Rating Andrei Frintu (frintu) | Cod sursa (job #3202266)
#include <iostream>
#include <stack>
#include <queue>
#include <fstream>
using namespace std;
ifstream fin ("deque.in");
ofstream fout ("deque.out");
struct ep{
int elem;
int poz;
};
deque <ep> deq;
long long int suma;
long long int n,k;
int main()
{
fin >> n>> k;
ep e;
for(long long int i=0;i<n;i++)
{
e.poz=i;
fin >> e.elem;
while(!deq.empty() && e.elem<deq.back().elem)
deq.pop_back();
deq.push_back(e);
if(!deq.empty() && i-deq.front().poz==k)
deq.pop_front();
if(i>=k-1)
{
suma+=deq.front().elem;
}
}
fout << suma;
}