Pagini recente » Cod sursa (job #2375971) | Cod sursa (job #1876053) | Cod sursa (job #981170) | Cod sursa (job #1510094) | Cod sursa (job #2308794)
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k;
deque< pair<int,int> > q;
int main()
{
f>>n>>k;
int 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));
}
int s=0;
for(int i=k;i<=n;i++)
{
f>>a;
while(!q.empty())
if(q.back().first>a)
q.pop_back();
else
break;
q.push_back(make_pair(a,i));
if(q.front().second<=i-k)
q.pop_front();
s+=q.front().first;
}
g<<s;
return 0;
}