1 条题解
-
0
奇怪的写法,正常是全用
vector
排序的,用了priority_queue
和bitset
#include <bits/stdc++.h> using namespace std; constexpr int N = 2e5 + 10; int main() { int n; cin >> n; priority_queue<int, vector<int>, greater<>> odd, even; bitset<N> isodd; for (int i = 0; i < n; ++i) { int m; cin >> m; if (m & 1) { isodd[i] = true; odd.push(m); } else { even.push(m); } } for (int i = 0; i < n; ++i) { if (isodd[i]) { cout << odd.top() << ' '; odd.pop(); } else { cout << even.top() << ' '; even.pop(); } } return 0; }
- 1
信息
- ID
- 409
- 时间
- 2000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 3
- 已通过
- 1
- 上传者