Pagini recente » Cod sursa (job #1057108) | Istoria paginii runda/matrice_/clasament | Istoria paginii runda/tt/clasament | Cod sursa (job #2042203) | Cod sursa (job #2889481)
#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(){
int 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 >= 0)
sum = sum + v[d.front()];
}
return sum;
}
int main()
{
citire();
g<<deq();
}