Pagini recente » Cod sursa (job #2432847) | Cod sursa (job #937065) | Cod sursa (job #1939460) | Cod sursa (job #556521) | Cod sursa (job #659752)
Cod sursa(job #659752)
#include <fstream>
#define qqL 5000001
using namespace std;
ifstream in;
ofstream out;
struct deque
{
int val,pos;
}qq[qqL];
int main()
{
int N,K,x;
in.open("deque.in");
in>>N>>K;
long long sum=0;
int head=1;
int tail=0;
for(int i=1;i<=N;++i)
{
in>>x;
for(;x<=qq[tail].val&&head<=tail;--tail);
qq[++tail].val=x;
qq[tail].pos=i;
if(qq[tail].pos-qq[head].pos>=K) ++head;
if(i>=K) sum+=qq[head].val;
}
in.close();
out.open("deque.out");
out<<sum<<'\n';
out.close();
return 0;
}