Pagini recente » Cod sursa (job #2539718) | Cod sursa (job #1979804) | Cod sursa (job #1028993) | Cod sursa (job #1360564) | Cod sursa (job #1630872)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k,X[5000001],i;
long long S;
deque <int> dq;
int main()
{
f>>n>>k;
f>>X[1];
dq.push_front(1);
for(i=2;i<=n;i++)
{
f>>X[i];
while(!dq.empty() && X[dq.back()]>=X[i])
dq.pop_back();
dq.push_back(i);
if(i>=k)
{
//cout<<dq.front()<<'\n';
if(i-k==dq.front())
{
dq.pop_front();
//cout<<dq.front()<<'\n';
}
S=S+X[dq.front()];
}
}
//for(i=1;i<=n;i++)
//cout<<X[i]<<" ";
g<<S;
f.close();
g.close();
return 0;
}