Pagini recente » Cod sursa (job #3246336) | Cod sursa (job #967752) | Cod sursa (job #526621) | Cod sursa (job #831961) | Cod sursa (job #485961)
Cod sursa(job #485961)
using namespace std;
#include<iostream>
#include<fstream>
ofstream fout("deque.out");
int N,K;
int a[5000000],deque[5000000];
long long sum=0;;
void solve()
{int front,back,i;
front=1;
back=0;
for(i=1;i<=N;i++)
{
while(front<=back&&a[i]<a[deque[back]]) back--;
back++;
deque[back]=i;
if(deque[front]==i-K) front++;
if(i>=K) sum+=a[deque[front]];
}
fout<<sum<<"\n";
}
void cit()
{int i;
ifstream fin("deque.in");
fin>>N>>K;
for(i=1;i<=N;i++)
{
fin>>a[i];
//cout<<a[i]<<" ";
}
fin.close();
}
int main()
{
cit();
solve();
fout.close();
return 0;
}