Cod sursa(job #2798965)
Utilizator | Data | 12 noiembrie 2021 10:00:26 | |
---|---|---|---|
Problema | Deque | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include <fstream>
int v[5000001];
int d[5000001];
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n, k, i, st, dr;
long long s;
int main(){
fin>>n>>k;
st=0;
dr=-1;
for (i=0;i<n;i++){
fin>>v[i];
if (st<=dr &&d[st]==i-k)
st++;
while(st<=dr && v[d[dr]]>=v[i])
dr--;
d[++dr]=i;
if (i>=k-1)
s+=v[d[st]];
}
fout<<s;
}