Pagini recente » Cod sursa (job #283117) | Cod sursa (job #1204825) | Cod sursa (job #2725981) | Cod sursa (job #258515) | Cod sursa (job #2064494)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
std::deque<long int> deq,deqp;
long int n,k,x,y,s=0;
int main()
{
fin>>n>>k;
for(long int i=1;i<=n;i++)
{
fin>>x;
if(i>=k+1)
{
s=s+deq.front();
if(i-deqp.front()==k)
{deq.pop_front();
deqp.pop_front();}}
if(i==1)
{deq.push_back(x);
deqp.push_back(i);}
else
{
while(deq.empty()!=1&&x<deq.back())
{
deq.pop_back();
deqp.pop_back();}
deq.push_back(x);
deqp.push_back(i);
}
}
if(x==deq.front())
s=s+x;
fout<<s;
return 0;
}