Pagini recente » Cod sursa (job #1114869) | Cod sursa (job #2084549) | Cod sursa (job #1544856) | Diferente pentru home intre reviziile 437 si 436 | Cod sursa (job #2057246)
#include <iostream>
#include <fstream>
#define MAXN 5000001
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
int n,k,v[MAXN],d[MAXN];
long long int sum;
int main()
{
in>>n>>k;
int st = 0,dr = -1;
for(int i = 0; i < n; i++){
in>>v[i];
if(st <= dr && d[st] == i-k)
st++;
while(st <= dr && v[i] <= v[d[dr]])
dr--;
d[++dr] = i;
if(i >= k -1)
sum += v[d[st]];
}
out<<sum;
return 0;
}