Cod sursa(job #3140242)
Utilizator | Vasilescu Cosmin Vasilescu_Cosmin | Data | 4 iulie 2023 22:07:26 |
---|---|---|---|
Problema | Deque | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include <fstream>
#include <deque>
#include <vector>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
deque<int>v;
int main()
{
int n,k;
long long ans=0;
in>>n>>k;
vector<int>nr(n+1);
for(int i=1;i<=n;i++){
in>>nr[i];
while(!v.empty() && nr[i]<nr[v.back()])
v.pop_back();
v.push_back(i);
if(v.front() <= i-k)
v.pop_front();
if(i>=k)
ans+=nr[v.front()];
}
out<<ans;
}