Pagini recente » Istoria paginii runda/eusebiuoji2019cls9 | Istoria paginii runda/simulare-cartita-13/clasament | Cod sursa (job #1130958) | Istoria paginii runda/runda_1 | Cod sursa (job #2889487)
#include <bits/stdc++.h>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int v[5000001], n, nr_el_secventa;
deque<int> d;
void citire(){
f >> n >> nr_el_secventa;
for (int i=1; i<=n; i++)
f>>v[i];
}
int deq(){
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()];
}
return sum;
}
int main()
{
citire();
g<<deq();
}