Pagini recente » Cod sursa (job #1327255) | Cod sursa (job #2607814) | Cod sursa (job #2629957) | Cod sursa (job #1278243) | Cod sursa (job #2887274)
#include <fstream>
long long v[5000010];
int deq[5000010];
int main()
{
std::ifstream fin("deque.in");
std::ofstream fout("deque.out");
int n, k;
fin >> n >> k;
for (int i = 0; i < n; ++i) fin >> v[i];
int front = 0, back = 0;
long long sum = 0;
for (int i = 0; i < n; ++i) {
while (deq[front] < i - k + 1) front++;
while (v[i] <= v[deq[back]] && back >= front) back--;
deq[++back] = i;
if (i >= k - 1) sum += v[deq[front]];
}
fout << sum;
return 0;
}