Cod sursa(job #3128223)
| Utilizator | Data | 9 mai 2023 00:38:20 | |
|---|---|---|---|
| Problema | Deque | Scor | 60 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <fstream>
#include <iostream>
#include <deque>
#include <vector>
std::ifstream in;
std::ofstream out;
int deq[5000000], v[5000000];
int main() {
long long k, n, sum = 0, f, b;
in.open("deque.in");
in>>n>>k;
f = 0;
b = 0;
for(int i = 0; i < n; i++){
in>>v[i];
while(v[deq[b]] >= v[i] and b >= f)
b--;
b++;
deq[b] = i;
if(i - deq[f] >= k)
f++;
if(i >= k-1)
sum += v[deq[f]], std::cout<<v[deq[f]]<<' ';
}
in.close();
out.open("deque.out");
out<<sum;
out.close();
return 0;
}
