Pagini recente » Cod sursa (job #1996052) | Cod sursa (job #1878780) | Cod sursa (job #2091736) | Cod sursa (job #1032840) | Cod sursa (job #2615979)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int c[5000001], st=0, dr=-1;
void push_back(int x){
c[++dr]=x;
}
void pop_back(){
dr--;
}
void pop_front(){
st++;
}
int main()
{int n, k,v[5000001] ;
long long sum=0;
f>>n>>k;
for(int i=0;i<n;i++)
f>>v[i];
for(int i=0;i<n;i++)
{
while(st<=dr && v[c[dr]]>v[i])
pop_back();
push_back(i);
if(c[st]==i-k)
pop_front();
if(i>=k-1)
sum+=v[c[st]];
}
g<<sum;
return 0;
}