Cod sursa(job #3284741)
Utilizator | Data | 12 martie 2025 09:51:25 | |
---|---|---|---|
Problema | Deque | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include <bits/stdc++.h>
#define ll long long
#define fi first
#define se second
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
ll t,n,k,i,j,x,y,sum;
deque<pair<ll,ll>>Q;
int main()
{ f>>n>>k;
for(i=1;i<=n;i++){
f>>x;
while(Q.size()&&Q.back().se>=x){
Q.pop_back();
}
while(Q.size()&&i-k+1>Q.front().fi){
Q.pop_front();
}
Q.push_back({i,x});
if (i>=k)
sum=1ll*sum+Q.front().se;
}
g<<sum<<'\n';
return 0;
}