Pagini recente » Cod sursa (job #1249993) | Istoria paginii runda/spad/clasament | Cod sursa (job #1602664) | Cod sursa (job #2473990) | Cod sursa (job #2732648)
#include <iostream>
#include <deque>
#include <fstream>
using namespace std;
int main()
{
deque <int> dq;
ifstream in("deque.in");
ofstream out("deque.out");
int n, k;
long long int suma=0;
int v[5000000];
in >> n >> k;
for(int i=0 ; i<n ; i++)
{
in >> v[i];
if(!dq.empty() && dq.front() == i-k)
{
dq.pop_front();
}
while(!dq.empty() && v[i] <= v[dq.back()])
{
dq.pop_back();
}
dq.push_back(i);
if(i >= k-1)
{
suma+=v[dq.front()];
}
}
out<<suma;
in.close();
out.close();
return 0;
}