Pagini recente » Cod sursa (job #86730) | Cod sursa (job #2696742) | Cod sursa (job #1782329) | Cod sursa (job #3237944) | Cod sursa (job #2064548)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
std::deque<long long int> deq;
std::deque<int> deqp;
long long int n,k,x,y,s=0;
int main()
{
fin>>n>>k;
for(int i=1;i<=n;++i)
{
fin>>x;
if(i>=k+1)
{
s=s+deq.front();
if(i-deqp.front()==k)
{deq.pop_front();
deqp.pop_front();}}
if(i==1)
{deq.push_back(x);
deqp.push_back(i);}
else
{
while(deq.empty()!=1&&x<deq.back())
{
deq.pop_back();
deqp.pop_back();}
deq.push_back(x);
deqp.push_back(i);
}
}
if(n-deqp.front()<=k)
s=s+deq.front();
fout<<s;
return 0;
}