Cod sursa(job #2973143)
| Utilizator | Data | 31 ianuarie 2023 09:13:42 | |
|---|---|---|---|
| Problema | Deque | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <fstream>
#include <deque>
using namespace std;
ifstream cin ("deque.in");
ofstream cout ("deque.out");
int v[5000001],q[5000001],n,k;
int main() {
cin>>n >>k;
for(int i=1;i<=n;i++) {
cin>>v[i];
}
long long sol=0;
int st=1,dr=0;
for(int i=1;i<=n;i++) {
while(st<=dr && v[i]<=v[q[dr]])
dr--;
q[++dr]=i;
if(q[st]==i-k)
st++;
if(i>=k)
sol=sol+v[q[st]];
}
cout<<sol;
return 0;
}
