Pagini recente » Cod sursa (job #588425) | Cod sursa (job #1549755) | Cod sursa (job #1347917) | Cod sursa (job #1702996) | Cod sursa (job #1817394)
#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 < array.size(); i++) {
if(i - K >= 0 && dq.front() == array[i - K]) {
base = max(base, dq.front());
dq.pop_front();
}
while(!dq.empty() && dq.back() > array[i]) {
dq.pop_back();
}
dq.push_back(array[i]);
}
return max(base, dq.front());
}
int main() {
int N, K;
ifstream in("secventa.in");
ofstream out("secventa.out");
in >> N >> K;
vector<int> array;
int i;
while(in >> i) {
array.push_back(i);
}
out << secventa(N, K, array);
return 0;
}