Pagini recente » Cod sursa (job #2592662) | Cod sursa (job #440255) | Cod sursa (job #1424311) | Cod sursa (job #1977455) | Cod sursa (job #2888161)
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int main()
{
long long n, k, i, st = 0, dr = -1, minim = 0;
f >> n >> k;
long long deqman[n+1];
long long 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;
}