Pagini recente » Cod sursa (job #897690) | Cod sursa (job #1089941) | Cod sursa (job #2830439) | Cod sursa (job #684362) | Cod sursa (job #3128401)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int v1[5000001], v2[5000001];
int main()
{
int n, k;
long int suma = 0;
int start = 0, final = 0;
fin >> n >> k;
for (int i = 0; i < n; i++)
fin >> v1[i];
for (int i = 0; i < n; i++)
{
while (start < final && v1[v2[final - 1]] > v1[i])
final--;
v2[final++] = i;
if (i >= k - 1)
{
while (v2[start] <= i - k)
start++;
suma += v1[v2[start]];
}
}
fout << suma << endl;
fin.close();
fout.close();
return 0;
}