Pagini recente » Cod sursa (job #579875) | Cod sursa (job #458507) | Cod sursa (job #1122958) | Cod sursa (job #660083) | Cod sursa (job #2999612)
#include <bits/stdc++.h>
#define MAXSZ 500000
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int main() {
int n, k, lo = -1, hi = -1, maxi = INT_MIN, arr[MAXSZ];
deque<int> dq;
fin >> n >> k;
for (int i = 0; i < n; i++) {
fin >> arr[i];
while (!dq.empty() && arr[dq.back()] >= arr[i])
dq.pop_back();
dq.push_back(i);
if (dq.front() == i - k)
dq.pop_front();
if (i >= k - 1 && dq.front() > maxi) {
lo = i - k + 1;
hi = i;
maxi = dq.front();
}
}
for (int i = hi; i >= lo; i--)
fout << arr[i] << ' ';
return 0;
}