結果

問題 No.2290 UnUnion Find
ユーザー t98slidert98slider
提出日時 2023-02-04 13:32:02
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 504 bytes
コンパイル時間 724 ms
コンパイル使用メモリ 90,516 KB
最終ジャッジ日時 2024-04-27 04:28:06
合計ジャッジ時間 2,232 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
main.cpp: In function 'int main()':
main.cpp:6:5: error: 'cin' was not declared in this scope
    6 |     cin >> N >> Q;
      |     ^~~
main.cpp:2:1: note: 'std::cin' is defined in header '<iostream>'; did you forget to '#include <iostream>'?
    1 | #include <atcoder/all>
  +++ |+#include <iostream>
    2 | using namespace std;
main.cpp:19:13: error: 'cout' was not declared in this scope
   19 |             cout << (l == r ? -1 : uf.same(l, v) ? r + 1 : l + 1) << '\n';
      |             ^~~~
main.cpp:19:13: note: 'std::cout' is defined in header '<iostream>'; did you forget to '#include <iostream>'?

ソースコード

diff #

#include <atcoder/all>
using namespace std;

int main(){
    int N, Q;
    cin >> N >> Q;
    atcoder::dsu uf(N);
    int l = 0, r = N - 1, type, u, v;
    while(Q--){
        cin >> type;
        if(type == 1) {
            cin >> u >> v;
            uf.merge(--u, --v);
            while(r != uf.leader(r)) r--;
            while(l != uf.leader(l)) l++;
        } else {
            cin >> v;
            v--;
            cout << (l == r ? -1 : uf.same(l, v) ? r + 1 : l + 1) << '\n';
        }
    }
}
0