Pagini recente » Cod sursa (job #319383) | Cod sursa (job #1783534) | Clasament pnb22 | Cod sursa (job #2203739) | Cod sursa (job #2889674)
#include <iostream>
#include <deque>
#include <fstream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int main()
{
deque<int> dq;
int n, i, m;
long long sum;
int lista[50000010];
fin >> n >> m;
for (i = 0; i < n; i++)
fin >> lista[i];
fin.close();
for (i = 0; i < n; i++){
while (dq.size() != 0 && lista[i] <= lista[dq.back()])
dq.pop_back();
dq.push_back(i);
if(dq.front() < (i - m + 1))
dq.pop_front();
if(i >= m-1)
s += lista[dq.front()];
}
fout << s;
fout.close();
return 0;
}