結果
問題 |
No.3104 Simple Graph Problem
|
ユーザー |
![]() |
提出日時 | 2025-04-08 01:48:04 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,098 bytes |
コンパイル時間 | 8,378 ms |
コンパイル使用メモリ | 278,352 KB |
実行使用メモリ | 27,656 KB |
最終ジャッジ日時 | 2025-04-08 01:48:25 |
合計ジャッジ時間 | 19,506 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 |
other | WA * 65 |
ソースコード
#include"testlib.h" #include <set> #include <utility> #include <atcoder/dsu> using ll = long long; const ll Nmin = 2; const ll Nmax = 100'000; const ll Mmin = 1; const ll Mmax = 100'000; const ll mod = 998244353; int main(){ registerValidation(); ll N = inf.readLong(Nmin, Nmax); inf.readSpace(); ll M = inf.readLong(Mmin, Mmax); inf.readEoln(); inf.ensuref(N-1 <= M && M <= N*(N-1)/2, "N-1 <= M <= N*(N-1)/2"); for (ll i = 0; i < N; i++){ if (i != 0){ inf.readSpace(); } ll Bi = inf.readLong(0LL, mod-1); } inf.readEoln(); std::set<std::pair<ll, ll>> es; atcoder::dsu d(N); for (ll i = 0; i < M; i++){ ll ui = inf.readLong(1LL, N); inf.readSpace(); ll vi = inf.readLong(1LL, N); inf.readEoln(); inf.ensuref(ui < vi, "u[i] < v[i]"); inf.ensuref(!es.contains({ui, vi}), "edges are distinct"); es.insert({ui, vi}); ui--, vi--; d.merge(ui, vi); } inf.ensuref((ll)(d.groups().size()) == 1LL, "graph is connected"); inf.readEof(); }