Pagini recente » Cod sursa (job #64966) | Cod sursa (job #437065) | Cod sursa (job #1784727) | Cod sursa (job #1191591) | Cod sursa (job #3287005)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
const int dim=5000001;
int main()
{
int n, x, i, v[dim], deq[dim], rez[dim], l=1, r=0;
long long s=0;
f>> n >> x;
for(i=1; i<=n; i++){
f>> v[i];
}
for(i=n; i>=1; i--){
if(deq[l]==i+x){
l++;
}
while(r>=l && v[deq[r]]>=v[i]){
r--;
}
deq[++r]=i; rez[i]=v[deq[l]];
}
for(i=1; i<=n-x+1; i++){
s+=rez[i];
}
g<< s;
return 0;
}