Pagini recente » Cod sursa (job #126190) | Cod sursa (job #2771616) | Cod sursa (job #2543681) | Cod sursa (job #436804) | Cod sursa (job #1991108)
#include <iostream>
#include <fstream>
#include <deque>
#include <algorithm>
using namespace std;
deque <pair <int, int> > D;
int main()
{
int i;
int n, k;
long long s = 0;
pair <int, int> x;
ifstream in ("deque.in");
ofstream out ("deque.out");
in>>n>>k;
for(i=0;i<n;++i)
{
x.first = i;
in>>x.second;
if(!D.empty() && D.front().first <= i-k)
D.pop_front();
while (!D.empty() && D.back().second >=x.second)
{
D.pop_back();
}
D.push_back(x);
if(i>=k-1)
s+=D.front().second;
}
out<<s;
}