Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
180465 | C班-范浩宇 | 密钥 | C++ | 解答错误 | 0 | 0 MS | 260 KB | 532 | 2024-08-21 13:50:34 |
#include <bits/stdc++.h> using namespace std; struct node { int index; int v; }; int a[2000005]; node q[2000005]; int main() { int n, m; cin >> n >> m; for (int i = 1; i <= n; i++) cin >> a[i]; int fon = 1, bak = 1; for (int i = 1; i <= n; i++) { if (fon >= bak) cout << 0 << endl; else { if (q[fon].index + m < i) ++fon; cout << q[fon].v << endl; } while (fon < bak && q[bak - 1].v >= a[i]) --bak; q[bak].v = a[i]; q[bak++].index = i; } return 0; }