Pagini recente » Cod sursa (job #370791) | Cod sursa (job #980433) | Cod sursa (job #2561763) | Cod sursa (job #1320589) | Cod sursa (job #2308799)
#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++)
{
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;
}