Pagini recente » Cod sursa (job #2739531) | Cod sursa (job #301229) | Cod sursa (job #2331513) | Cod sursa (job #1316541) | Cod sursa (job #2308800)
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k;
deque< pair<long long,int> > q;
int main()
{
f>>n>>k;
long long a;
for(int i=1;i<k;i++)
{
f>>a;
while(!q.empty())
if(q.back().first>a)
q.pop_back();
else
break;
q.push_back(make_pair(a,i));
}
long long s=0;
for(int i=k;i<=n;i++)
{
if(q.front().second<=i-k)
q.pop_front();
f>>a;
while(!q.empty())
if(q.back().first>a)
q.pop_back();
else
break;
q.push_back(make_pair(a,i));
s+=q.front().first;
}
g<<s;
f.close();
g.close();
return 0;
}