Cod sursa(job #3287005)
| Utilizator | Data | 14 martie 2025 22:06:09 | |
|---|---|---|---|
| Problema | Deque | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
const int dim=5000001;
int main()
{
int n, x, i, v[dim], deq[dim], rez[dim], l=1, r=0;
long long s=0;
f>> n >> x;
for(i=1; i<=n; i++){
f>> v[i];
}
for(i=n; i>=1; i--){
if(deq[l]==i+x){
l++;
}
while(r>=l && v[deq[r]]>=v[i]){
r--;
}
deq[++r]=i; rez[i]=v[deq[l]];
}
for(i=1; i<=n-x+1; i++){
s+=rez[i];
}
g<< s;
return 0;
}
