I - Rain Editorial

Time Limit: 2 sec / Memory Limit: 256 MB

時は30世紀,きつねのしえるは雨を司る神としてKUPC国の降雨量を管理している. KUPC国は NN 個の地域に分割されており,しえるはそれぞれの地域にまんべんなく雨を降らさなければならない. しえるは呪文をとなえて雨を降らせる. 呪文は MM 種類あり,それぞれ 11 から MM まで番号づけられている. ii 番目の呪文には湿潤の地域 aia_i と乾燥の地域 bib_i とが定められており, aia_i 番目の地域には雨が 22 降り,bib_i 番目の地域には雨が降らず, それ以外の N2N-2 箇所の地域には雨が 11 降る. また,ii 番目の呪文を実行するのに did_i 日の日数を要する.

まず,最初に KK 個の呪文 (c1,...,cK)(c_1,...,c_{K}) が実行される. しえるは,その KK 個の呪文が実行された後にいくつかの呪文を実行して,各地域の合計雨量を等しくしたいと思っている. KK 個の呪文が実行されてから,各地域の合計雨量を等しくするのに最低何日かかるか出力せよ. ただし,各地域の合計雨量を等しく出来ない場合は -1 を出力せよ.

入力形式

テストケースは以下の形式で与えられる.

NN MM KK
c1c_1cKc_{K}
a1a_1 b1b_1 d1d_1aMa_M bMb_{M} dMd_M

出力形式

出力はかかる最小の日数を表す整数,もしくは -1 の,11 行のみからなる.

制約

  • 2N100002 \leq N \leq 10000
  • 1M200001 \leq M \leq 20000
  • 1K151 \leq K \leq 15
  • 1ciM1 \leq c_i \leq M
  • 1aiN1 \leq a_i \leq N
  • 1biN1 \leq b_i \leq N
  • aibia_i \neq b_i
  • 1di31 \leq d_i \leq 3
  • 入力値はすべて整数である.

この問題の判定には,30点分のテストケースのグループが設定されている.このグループに含まれるテストケースは上記の制約に加えて下記の制約も満たす.

  • K=1K = 1

入出力例

入力例1Copy

Copy
9 10 4
1 2 4 6
1 2 1
2 3 2
3 4 3
4 5 1
5 1 2
6 7 3
7 8 2
8 6 3
8 9 1
9 6 1

出力例1Copy

Copy
9

3,5,7,9,103,5,7,9,10番目の呪文を実行すれば9日で各地域に同じ量の雨を降らせる事ができる.

入力例2Copy

Copy
3 3 1
1
1 2 1
1 3 2
2 3 3

出力例2Copy

Copy
-1

入力例3Copy

Copy
2 2 2
1 1
1 2 2
2 1 3

出力例3Copy

Copy
6

入力例4Copy

Copy
2 2 2
1 2
1 2 2
2 1 3

出力例4Copy

Copy
0

入力例5Copy

Copy
4 5 2
1 2
2 1 1
4 3 1
1 2 2
1 4 3
3 2 3

出力例5Copy

Copy
6

Source Name

京都大学プログラミングコンテスト2014


2025-04-03 (Thu)
05:08:49 +00:00