Pagini recente » Cod sursa (job #204142) | Cod sursa (job #2061455) | Cod sursa (job #1425228) | Cod sursa (job #763388) | Cod sursa (job #2888171)
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int deqman[5000001], v[5000001];
int main()
{
int n, k, i, st = 0, dr = -1;
f >> n >> k;
long long minim = 0;
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;
}