Cod sursa(job #2184222)
Utilizator | Data | 23 martie 2018 20:52:29 | |
---|---|---|---|
Problema | Deque | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include<bits/stdc++.h>
#define ll long long
using namespace std;
deque<int>Q;
int a[5000010],n,k;
ll s;
int main() {
ifstream cin("deque.in");
ofstream cout("deque.out");
cin>>n>>k;
for (int i=1; i<=n; i++) {
cin>>a[i];
while (Q.size() && a[i]<a[Q.back()]) Q.pop_back();
while (Q.size() && i-Q.front()>=k) Q.pop_front();
Q.push_back(i);
if (i>=k) s+=a[Q.front()];
}
cout<<s;
return 0;
}