atcoder#ABC239F. [ABC239F] Construct Highway

[ABC239F] Construct Highway

题目描述

Atcoder 国には 1 1 から N N の番号がついた N N 個の街と 1 1 から M M の番号がついた M M 個の高速道路があります。
高速道路 i i は街 Ai A_i と街 Bi B_i を双方向に結んでいます。

国王の高橋君は、新たに NM1 N-M-1 本の高速道路を建設し、次の 2 2 つの条件をともに満たそうとしています。

  • すべての街同士は、高速道路をいくつか通って互いに行き来できる
  • i=1,,N i=1,\ldots,N について、街 i i はちょうど Di D_i 本の高速道路と直接つながっている

条件を満たすような建設方法が存在するか判定し、存在するなら 1 1 つ出力してください。

输入格式

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

N N M M D1 D_1 \ldots DN D_N A1 A_1 B1 B_1 \vdots AM A_M BM B_M

输出格式

条件を満たすような建設方法が存在しないとき -1 を出力せよ。
存在するとき、NM1 N-M-1 行出力せよ。i i 行目には、i i 番目に建設する高速道路が結ぶ 2 2 つの街の番号を空白区切りで出力せよ。

题目大意

给定 n,mn,m 和度数数组 {di}\{d_i\},再给你 mm 条边,请构造一棵 nn 点的树包含这 mm 条边,且第 ii 个点的度数为 did_i,或者判断无解。

https://www.luogu.com.cn/user/122461
译)

6 2
1 2 1 2 2 2
2 3
1 4
6 2
5 6
4 5
5 1
1 1 1 1 4
2 3
-1
4 0
3 3 3 3
-1

提示

制約

  • 2  N  2× 105 2\ \leq\ N\ \leq\ 2\times\ 10^5
  • 0  M < N1 0\ \leq\ M\ \lt\ N-1
  • 1  Di  N1 1\ \leq\ D_i\ \leq\ N-1
  • 1 Ai < Bi  N 1\leq\ A_i\ \lt\ B_i\ \leq\ N
  • i j i\neq\ j ならば、(Ai, Bi)  (Aj,Bj) (A_i,\ B_i)\ \neq\ (A_j,B_j)
  • 入力に含まれる値は全て整数である

Sample Explanation 1

出力例のように、街 6 6 2 2 、街 5 5 6 6 、街 4 4 5 5 をそれぞれ結ぶ高速道路を建設すると条件を満たすことができます。 この他にも、例えば 街 6 6 4 4 、街 5 5 6 6 、街 2 2 5 5 を結ぶような高速道路を建設しても条件を満たすことができます。