Pagini recente » Cod sursa (job #2718053) | Monitorul de evaluare | Cod sursa (job #1209184) | Cod sursa (job #1329218) | Cod sursa (job #1957583)
#include<bits/stdc++.h>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
long long n,k,x,sol;
deque<long long>v;
deque<long long>poz;
int main()
{
f>>n>>k;
for(long long i=1;i<=n;++i)
{
f>>x;
if(i>k)
if(poz[0]==i-k)
{
v.pop_front();
poz.pop_front();
}
if(i>=2)
{
long long z=v.size()-1;
while(v[z]>=x)
{
v.pop_back();
poz.pop_back();
--z;
if(z<0)
break;
}
}
v.push_back(x);
poz.push_back(i);
if(i>=k)
sol+=v[0];
}
g<<sol;
return 0;
}