Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
125555 | 李树强 | 前序遍历 | C++ | 运行超时 | 0 | 1000 MS | 39300 KB | 521 | 2024-01-23 17:12:35 |
#include<iostream> using namespace std; const int N = 1e7 + 10; int n, a[N], t; void output(int x){ cout << a[x] << ' '; if(a[x * 2] != (int)1e9) output(x * 2); if(a[x * 2 + 1] != (int)1e9) output(x * 2 + 1); } void push(int x, int q){ while(a[x] != (int)1e9){ if(a[x] > q) x *= 2; else if(a[x] < q) x = x * 2 + 1; } a[x] = q; } int main(){ cin >> n; for(int i = 1; i <= N; i++) a[i] = 1e9; for(int i = 1; i <= n; i++){ cin >> t; push(1, t); } output(1); return 0; }