Pagini recente » Cod sursa (job #616883) | Cod sursa (job #1525650) | Cod sursa (job #1825840) | Istoria paginii runda/simulare_oni_9_2 | Cod sursa (job #1538645)
#include <fstream>
#define NMax 5000010
#define INF 10000010
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int num, len, val, vals[NMax], deque[NMax], front, back;
long long sMin;
int main()
{
f >> num >> len;
front = 1, back = 0;
vals[0] = -INF;
for (int i = 1; i <= num; i++) {
f >> vals[i];
while (front <= back && vals[deque[back]] >= vals[i])
back--;
deque[++back] = i;
if (deque[back] - len >= deque[front])
front++;
if (deque[back] >= len)
sMin += vals[deque[front]];
}
g << sMin;
return 0;
}