Pagini recente » Istoria paginii runda/avram_iancu_preoji_bis/clasament | Istoria paginii runda/porc_revelion/clasament | Cod sursa (job #2301232) | Cod sursa (job #2536573) | Cod sursa (job #2889496)
#include <bits/stdc++.h>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int main()
{
int v[5000001], n, nr_el_secventa;
deque<int> d;
f >> n >> nr_el_secventa;
for (int i=1; i<=n; i++)
f>>v[i];
long long sum=0;
for (int poz=1; poz<=n; poz++)
{
while (!d.empty() && v[poz]<=v[d.back()]) d.pop_back();
d.push_back(poz);
while (d.front() <= poz-nr_el_secventa ) d.pop_front();
if (poz >= nr_el_secventa) sum = sum + v[d.front()];
}
g<<sum;
}