Pagini recente » Cod sursa (job #1750738) | Cod sursa (job #1610585) | Rating PhungTienMinh (FutymyClone) | Cod sursa (job #1657977) | Cod sursa (job #1379434)
#include <fstream>
#define NMax 5000010
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n, k, mdeque[NMax], fi, la, ap;
long long sumMin, v[NMax];
int main()
{
f >> n >> k;
for (int i = 1; i <= n; i++)
f >> v[i];
fi = 1;
la = 0;
v[0] = -2000000000;
for (int i = 1; i <= n; i++) {
while (v[mdeque[la]] > v[i] && fi <= la)
la--;
mdeque[++la] = i;
while (i - ap > k && fi <= la) {
ap++;
if (ap == mdeque[fi])
fi++;
}
if (i - ap == k)
sumMin += v[mdeque[fi]];
}
g << sumMin;
}