結果
問題 | No.2290 UnUnion Find |
ユーザー | Ramurata |
提出日時 | 2023-05-06 11:33:08 |
言語 | C++17 (gcc 12.3.0 + boost 1.83.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 3,058 bytes |
コンパイル時間 | 4,373 ms |
コンパイル使用メモリ | 269,856 KB |
実行使用メモリ | 22,216 KB |
最終ジャッジ日時 | 2024-11-23 20:43:27 |
合計ジャッジ時間 | 78,429 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
13,640 KB |
testcase_01 | AC | 4 ms
13,640 KB |
testcase_02 | WA | - |
testcase_03 | TLE | - |
testcase_04 | TLE | - |
testcase_05 | TLE | - |
testcase_06 | TLE | - |
testcase_07 | TLE | - |
testcase_08 | TLE | - |
testcase_09 | TLE | - |
testcase_10 | TLE | - |
testcase_11 | TLE | - |
testcase_12 | TLE | - |
testcase_13 | TLE | - |
testcase_14 | TLE | - |
testcase_15 | TLE | - |
testcase_16 | TLE | - |
testcase_17 | TLE | - |
testcase_18 | TLE | - |
testcase_19 | AC | 381 ms
12,928 KB |
testcase_20 | AC | 382 ms
17,408 KB |
testcase_21 | TLE | - |
testcase_22 | AC | 354 ms
11,044 KB |
testcase_23 | AC | 526 ms
13,636 KB |
testcase_24 | AC | 343 ms
10,752 KB |
testcase_25 | AC | 1,050 ms
6,820 KB |
testcase_26 | AC | 356 ms
12,160 KB |
testcase_27 | AC | 352 ms
11,392 KB |
testcase_28 | AC | 332 ms
7,424 KB |
testcase_29 | AC | 344 ms
10,112 KB |
testcase_30 | TLE | - |
testcase_31 | AC | 337 ms
9,600 KB |
testcase_32 | AC | 601 ms
6,816 KB |
testcase_33 | AC | 327 ms
7,316 KB |
testcase_34 | AC | 371 ms
13,312 KB |
testcase_35 | AC | 384 ms
11,904 KB |
testcase_36 | AC | 677 ms
6,816 KB |
testcase_37 | AC | 340 ms
6,936 KB |
testcase_38 | AC | 373 ms
6,820 KB |
testcase_39 | AC | 414 ms
6,820 KB |
testcase_40 | AC | 354 ms
11,520 KB |
testcase_41 | AC | 1,892 ms
6,816 KB |
testcase_42 | AC | 340 ms
8,832 KB |
testcase_43 | AC | 331 ms
8,576 KB |
testcase_44 | TLE | - |
testcase_45 | WA | - |
testcase_46 | WA | - |
ソースコード
#line 2 "/Users/2P/Desktop/ramstream/library/template/template.hpp" /** * @brief Header */ #include <bits/stdc++.h> // #include <algorithm> // #include <cmath> // #include <complex> // #include <cstdio> // #include <iostream> // #include <map> // #include <numeric> // #include <queue> // #include <set> // #include <stack> // #include <string> // #include <vector> // #include <climits> // #include <deque> // #include <iomanip> // #include <limits> using namespace std; typedef long long ll; #define overload4(_1, _2, _3, _4, name, ...) name #define rep1(i, n) for (int i = 0; i < int(n); ++i) #define rep2(i, s, n) for (int i = int(s); i < int(n); ++i) #define rep3(i, s, n, d) for(int i = int(s); i < int(n); i+=d) #define rep(...) overload4(__VA_ARGS__,rep3,rep2,rep1)(__VA_ARGS__) #define all(x) (x).begin(),(x).end() #define rall(x) (x).rbegin(),(x).rend() #define fir first #define sec second #define pb push_back #define em emplace_back #define mk make_pair #define SUM(a) accumulate(all(a),0LL) #define MIN(a) *min_element(all(a)) #define MAX(a) *max_element(all(a)) template<class... T> void input(T&... a){(cin >> ... >> a);} #define INT(...) int __VA_ARGS__;input(__VA_ARGS__) #define LL(...) ll __VA_ARGS__;input(__VA_ARGS__) #define STR(...) string __VA_ARGS__;input(__VA_ARGS__) #define DBL(...) double __VA_ARGS__;input(__VA_ARGS__) void Yes(bool iSizIs=true) {if(iSizIs){cout<<"Yes"<<endl;}else{cout<<"No"<<endl;}} void No() {cout<<"No"<<endl;} template<class T> void OUT(T x) {cout << (x) << endl;} template<class T> bool chmin(T &a, T b) {if (a > b) {a = b;return true;}return false;} template<class T> bool chmax(T &a, T b) {if (a < b) {a = b;return true;}return false;} ll POW(ll a, ll n, ll mod) { if (n == 0) return 1; if (n == 1) return a % mod; ll ret = POW(a, n / 2, mod) % mod; (ret *= ret) %= mod; if (n % 2 == 1) { (ret *= a) %= mod; } return ret; } const int inf = INT_MAX / 2; const ll infl = 1LL << 60; using vi = vector<int>; using vvi = vector<vi>; using vl = vector<ll>; using vvl = vector<vl>; using vd = vector<double>; using vvd = vector<vd>; using vs = vector<string>; using vvs = vector<vs>; using vb = vector<bool>; using vvb = vector<vb>; using pii = pair<int, int>; using pll = pair<ll, ll>; using mii = map<int, int>; using mll = map<ll, ll>; #include <atcoder/all> using namespace atcoder; #line 2 "sol.cpp" int main() { INT(n, q); dsu uni(n); set<int> s; rep(i, n) s.insert(i); rep(qi, q) { int t; cin >> t; if(t == 1) { INT(u, v); u--, v--; if(u > v) swap(u, v); s.erase(uni.leader(v)); uni.merge(u, v); } else { INT(v); v--; if(s.size() == 1) { cout << -1 << endl; } else { for(auto x : s) { if(!uni.same(x, v)) { cout << x + 1 << endl; break; } } } } } }