Pagini recente » Cod sursa (job #890961) | Cod sursa (job #2613327) | Cod sursa (job #2696809) | Cod sursa (job #3199862) | Cod sursa (job #2888159)
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int main()
{
int n, k, i, st = 0, dr = -1, minim = 0;
f >> n >> k;
int deqman[n+1];
int v[n+1];
for(i = 0; i < n; i++)
f >> v[i];
for(i = 0; i < k; i++)
{
while(st <= dr && v[i] <= v[deqman[dr]])
dr--;
dr++;
deqman[dr] = i;
}
minim = minim + v[deqman[st]];
for(i = k; i < n; i++)
{
while(st <= dr && deqman[st] <= (i - k))
st++;
while(st <= dr && v[i] <= v[deqman[dr]])
dr--;
dr++;
deqman[dr] = i;
minim = minim + v[deqman[st]];
}
g << minim;
return 0;
}