Pagini recente » Cod sursa (job #308483) | Cod sursa (job #2923739) | Cod sursa (job #436516) | Cod sursa (job #1192005) | Cod sursa (job #1817399)
#include <iostream>
#include <deque>
#include <vector>
#include <algorithm>
#include <fstream>
using namespace std;
int secventa(int N, int K, vector<int> array) {
int base = 0;
deque<int> dq;
for(int i = 0; i < N; i++) {
if(i - K >= 0) {
base = max(base, array[dq.front()]);
if(dq.front() == (i - K)) {
dq.pop_front();
}
}
while(!dq.empty() && array[dq.back()] > array[i]) {
dq.pop_back();
}
dq.push_back(i);
}
return base;
}
int main() {
ifstream in("secventa.in");
int N, K;
in >> N >> K;
ofstream out("secventa.out");
vector<int> array;
int i;
while(in >> i) {
array.push_back(i);
}
out << secventa(9, 3, array);
return 0;
}