Pagini recente » Cod sursa (job #2067390) | Cod sursa (job #3224933) | Cod sursa (job #137477) | Cod sursa (job #1742661) | Cod sursa (job #2658955)
#include <bits/stdc++.h>
#define valoare first
#define pozitie second
#define perechea make_pair
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k,x;
int64_t s;
list<pair<int,int>> Q;
int main()
{
f>>n>>k;
for(int i=1;i<k;i++)
{
f>>x;
while(Q.size()&&x<=Q.back().valoare)
Q.pop_back();
Q.push_back(perechea(x,i));
}
for(int i=k;i<=n;i++)
{
f>>x;
while(Q.size()&&x<=Q.back().valoare)
Q.pop_back();
Q.push_back(perechea(x,i));
if(i-Q.front().pozitie==k)
Q.pop_front();
s+=Q.front().valoare;
}
g<<s;
return 0;
}