Pagini recente » Cod sursa (job #291107) | Cod sursa (job #2033710) | Aplicatii ale cautarii binare | Cod sursa (job #1507059)
//#include<iostream>
#include<deque>
#include<fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int main()
{
int k,n,i,x,sem=0;
long long int c=0;
deque<int> q,v;
f>>n>>k;
for(i=1;i<=n;i++)
{
f>>x;
sem=0;
if(v.size()!=0)
if(i-v.front()>=k)
{
q.pop_front();
v.pop_front();
}
while(q.size()!=0 && sem==0)
{
sem=1;
if(x<q.back())
{
sem=0;
q.pop_back();
v.pop_back();
}
}
q.push_back(x);
v.push_back(i);
if(i>=k)
c+=q.front();
}
g<<c;
g.close();
f.close();
return 0;
}