Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
141757 | 谢思涵 | 密钥 | C++ | 解答错误 | 40 | 18 MS | 984 KB | 680 | 2024-04-06 10:46:42 |
#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; }