結果
問題 |
No.3086 Re One Two
|
ユーザー |
|
提出日時 | 2025-04-04 22:44:18 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 73 ms / 2,000 ms |
コード長 | 788 bytes |
コンパイル時間 | 4,282 ms |
コンパイル使用メモリ | 257,652 KB |
実行使用メモリ | 14,336 KB |
最終ジャッジ日時 | 2025-04-04 22:45:08 |
合計ジャッジ時間 | 8,537 ms |
ジャッジサーバーID (参考情報) |
judge6 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 32 |
ソースコード
#include <bits/stdc++.h> #include <atcoder/all> using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(0); int n, prv; cin >> n; vector<int> idx(n, -1); vector<vector<int>> tb; int xp = -1, yp = -1; for(int i = 0; i < n; i++){ int x, y; cin >> x >> y; if(xp != -1) idx[i] = idx[xp]; if(x == 1) xp = i; else xp = -1; if(y == 2) yp = i; else if(y == 1) idx[i] = idx[yp]; if(idx[i] == -1){ idx[i] = tb.size(); tb.emplace_back(vector<int>({})); } tb[idx[i]].emplace_back(i + 1); } for(auto &&vec : tb) reverse(vec.begin(), vec.end()); sort(tb.begin(), tb.end()); for(auto &&vec : tb) for(auto &&v : vec) cout << v << '\n'; }