提交时间:2024-04-06 10:46:42
运行 ID: 141757
#include <iostream> #include <queue> using namespace std; int a[100100]; queue <int> ans; int main() { int n, m, cur = 0; cin >> n >> m; for(int i = 1; i <= n; i++) cin >> a[i]; int max1n = -1, max2n = -1; for(int i = 1; i <= m; i++) { if(a[i] > max1n) max1n = a[i]; if(a[i] < max1n && a[i] > max2n) max2n = a[i]; } ans.push(max1n); for(int i = 2; i <= n - m + 1; i++) { if(a[i - 1] == max1n) { max1n = max(a[i + m - 1], max2n); ans.push(max1n); } else { max1n = max(a[i + m - 1], max1n); ans.push(max1n); } } while(!ans.empty()) { cout << ans.front(); ans.pop(); } cout << endl; return 0; }