Pagini recente » Cod sursa (job #1404912) | Cod sursa (job #814254) | Cod sursa (job #519448) | Cod sursa (job #1903808) | Cod sursa (job #3353782)
#include <fstream>
using namespace std;
int v[5000001], coada[5000001];
ifstream cin("deque.in");
ofstream cout("deque.out");
int main()
{
int n, k, i, inc=1, sf=1;
long long s=0;
cin>>n>>k;
for( i = 1; i <= n; i++ )
cin>>v[i];
coada[1]=1;
for( i = 2; i <= k; i++ ){
while( inc <= sf && v[coada[sf]] > v[i] )
sf--;
coada[++sf]=i;
}
s+=v[coada[inc]];
for( i = k + 1; i <= n; i++ ){
while( inc <= sf && v[coada[sf]] > v[i] )
sf--;
coada[++sf]=i;
while( inc <= sf && coada[inc] < i - k + 1 )
inc++;
s+=v[coada[inc]];
}
cout<<s;
return 0;
}