問題一覧 > 通常問題

No.3751 Nonopoly

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 1024 MB / 標準ジャッジ問題
タグ : (解説公開後に AC するまで非表示) / 解いたユーザー数 30
作問者 : marc2825 / テスター : siganai
お気に入りにしたユーザー ProblemId : 13470 / 自分の提出
問題文最終更新日: 2026-10-02 19:23:20
yukicoder contest 516 (順位表) の他の問題:

問題文

\(N\) 社の企業と、それらの間に結ばれた \(M\) 件の契約があります。 企業には \(1,2,\ldots,N\) の番号が付いています。 契約 \(i\) は企業 \(u_i\) と企業 \(v_i\) の間に結ばれており、その価値は \(W_i\) です。

Alice と Bob は、 Alice から始めて交互に、まだ買収されていない企業を 1 社選んで買収し、自分のグループに加えるゲームを行います。 ゲームは、すべての企業が買収されるまで続きます。

ゲーム終了後、各プレイヤーの利益を、そのプレイヤーのグループに属する企業どうしの間に結ばれた契約の価値の総和とします。

ゲーム終了時点での二人の利益の差 『 \((\text{Alice の利益})-(\text{Bob の利益})\) 』 をこのゲームの 「最終スコア」 とします。

Alice は最終スコアをできるだけ大きくしようとし、Bob はできるだけ小さくしようとします。 両者が最適に行動したときの最終スコアを求めてください。

制約

  • \(1 \le N \le 2 \times 10^5\)
  • \(0 \le M \le \min(2 \times 10^5,\frac{N(N-1)}{2})\)
  • \(1 \le u_i < v_i \le N\)
  • \((u_i,v_i)\) はすべて相異なる
  • \(1 \le W_i \le 10^9\)
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられます。

$N$ $M$
$u_1$ $v_1$ $W_1$
$u_2$ $v_2$ $W_2$
$\vdots$
$u_M$ $v_M$ $W_M$

出力

両者が最適に行動したときの最終スコアを 1 行で出力してください。

サンプル

サンプル1
入力
5 4
1 3 10
1 4 2
2 4 6
2 5 6
出力
4

例えば、企業を買収する順番が \(2 \to 4 \to 5 \to 1 \to 3\) であったとします。
Alice と Bob は交互に買収するため、最終的に Alice のグループは \(\{2,3,5\}\)、Bob のグループは \(\{1,4\}\) となります。
Alice の利益に加算される契約は企業 \(2\) と企業 \(5\) の間の契約のみで、その価値は \(6\) です。 Bob の利益に加算される契約は企業 \(1\) と企業 \(4\) の間の契約のみで、その価値は \(2\) です。
したがって、最終スコアは \(6-2=4\) となり、これは両者が最適に行動したときの最終スコアと一致します。(この行動が最適であるとは限らない点に注意してください。)

サンプル2
入力
3 1
1 2 7
出力
0

いずれの企業とも契約を結んでいない企業が存在する場合もあります。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。