Pagini recente » Monitorul de evaluare | Cod sursa (job #850978) | Atasamentele paginii Clasament simumaster | Cod sursa (job #2018155) | Cod sursa (job #2889495)
#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;
long long sum=0;
for (int poz=1; poz<=n; poz++)
{
f>>v[poz];
while(!d.empty() and 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 += v[d.front()];
}
g<<sum;
}