Pagini recente » Cod sursa (job #1954097) | Cod sursa (job #2236459) | Cod sursa (job #2495605) | Cod sursa (job #3186279) | Cod sursa (job #1259900)
#include<fstream>
using namespace std;
int n, i, p, u, k;
int v[500001], d[5000001];
long long sum;
ifstream fin("deque.in");
ofstream fout("deque.out");
int main(){
fin>> n >> k;
for(i = 1; i <= n; i++){
fin>> v[i];
}
p = 1;
u = 1;
d[1] = 1;
for(i = 2; i <= n; i++){
while(p <= u && v[i] < v[d[u]]){
u--;
}
u++;
d[u] = i;
if(i - d[p] == k){
p++;
}
if(i >= k){
sum += v[d[p]];
// fout<< v[d[p]] <<" ";
}
}
fout<< sum;
return 0;
}