Pagini recente » Cod sursa (job #2627767) | Cod sursa (job #122195) | Cod sursa (job #717132) | Cod sursa (job #2195573) | Cod sursa (job #2936917)
#include <bits/stdc++.h>
using namespace std;
long long int n , i , k , x , *fr , *a , p , u , s;
deque <long long int> q;
ifstream f("deque.in");
ofstream g("deque.out");
int main()
{
f >> n >> k;
fr=new long long int[5000005];
a=new long long int[5000005];
for(i=1;i<=n;i++) f >> a[i] , fr[i]=i;
for(i=1;i<=n;i++){
p++;
while(!q.empty() && a[i]<a[q.back()]){
q.pop_back();
}
q.push_back(i);
while(!q.empty() && fr[i]-fr[q.front()]+1>k) q.pop_front();
if(p>=k && !q.empty()) s+=a[q.front()];
}
g << s;
}