Pagini recente » Cod sursa (job #1971808) | Cod sursa (job #2179660) | Cod sursa (job #2340320) | fgdgd | Cod sursa (job #2889320)
#include <fstream>
int v[5000005], deque[5000005];
int main() {
std::ifstream fin("deque.in");
int n, k, f = 0, b = -1;
/* f-front
* b-back */
fin >> n >> k;
long long S = 0;
int i = 0;
while (!fin.eof())
fin >> v[i++];
for (i = 0; i < n; i++) {
while (v[i] <= v[deque[b]] && f <= b)
b--;
deque[++b] = i;
if (i - k == deque[f])
f++;
if (i + 1 >= k)
S += v[deque[f]];
}
std::ofstream fout("deque.out");
fout << S;
return 0;
}