Pagini recente » Rating Stefan Sigartau (StefanS007) | Cod sursa (job #1990037) | Cod sursa (job #329832) | Cod sursa (job #2793032) | Cod sursa (job #2663891)
#include <fstream>
#define N 5000000
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
int coada[N], v[N];
int main(){
int n, k;
cin >> n >> k;
for(int i = 1; i <= n; i++)
cin >> v[i];
int inc = 1, sf = 1;
long long suma = 0;
coada[inc] = 1;
for (int i = 2; i <= n; i++){
if (v[i] > v[coada[sf]]){
sf++;
coada[sf] = i;
}
else{
while (inc <= sf && v[coada[sf]] >= v[i])
sf--;
sf++;
coada[sf] = i;
}
while (coada[sf] - coada[inc] >= k && sf - inc >= 0)
inc++;
if (i >= k)
suma += v[coada[inc]];
}
cout << suma;
return 0;
}