Pagini recente » Borderou de evaluare (job #1520457) | Cod sursa (job #1448926) | Borderou de evaluare (job #1533163) | Borderou de evaluare (job #1520454) | Cod sursa (job #1522423)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
#define MAX 5000100
deque <int> Q;
int a[MAX];
int main()
{
int n, k, i;
long long s = 0;
fin >> n >> k;
for(i = 1 ; i <= n ; i++)
{
fin >> a[i];
}
for(i = 1 ; i <= n ; i++)
{
while(Q.size() && a[i] < a[Q.front()])
Q.pop_front();
Q.push_front(i);
if(Q.back() == i - k)
Q.pop_back();
if(i >= k)
{
s += a[Q.back()];
}
}
fout << s << "\n";
}