Pagini recente » Cod sursa (job #2215267) | Cod sursa (job #1036773) | Monitorul de evaluare | Cod sursa (job #3325792) | Cod sursa (job #2591159)
#include<bits/stdc++.h>
using namespace std;
#define mp make_pair
#define pb push_back
#define ft first
#define sc second
#define ll long long
ifstream fin("deque.in"); ofstream fout("deque.out");
int n, t, q, k, l, a[5000005];
int main(){
fin>>n>>k;
ll sum=0;
vector<int> s;
for(int i=1; i<=n; i++){
int x; fin>>x;
a[i]=x;
while(s.size()>=1 && a[s[s.size()-1] ]>a[i] ){s.pop_back();}
s.pb(i);
if( (i-k+1) >=s[0] ){sum+=a[s[0]]; s.erase(s.begin(), s.begin()+1);}
}
sum+=a[s[0] ];
fout<<sum;
return 0;
}