燃やす埋める練習問題4

2 secs 1024 MB
_kanpurin_'s icon _kanpurin_

問題文

NN頂点MM辺の有向グラフが与えられます。ii番目の辺は頂点xix_iから頂点yiy_iへ向かう有向辺です。各頂点には整数BiB_iが書かれており、各頂点ははじめ白で塗られています。

次の操作を順に行うとき、黒で塗られている頂点に書かれた整数の和の最大値を求めてください。

  • 操作1100個以上の頂点を選択し、選択した頂点からたどり着ける頂点を黒で塗る。
  • 操作2200個以上の頂点を選択し、選択した頂点からたどり着ける頂点を白で塗る。

制約

  • 1N10001\leq N\leq 1000
  • 0Mmin(N(N1),1000)0\leq M\leq \min(N(N-1),1000)
  • 109Bi109-10^9\leq B_i\leq 10^9
  • 1xi,yiN1\leq x_i,y_i\leq N
  • xiyix_i\neq y_i
  • (xi,yi)(xj,yj)(ij)(x_i,y_i)\neq (x_j,y_j) (i\neq j)

入力

入力はすべて整数である。

N MN\ M
B1 B1  BNB_1\ B_1\ \dots\ B_N
x1 y1x_1\ y_1
x2 y2x_2\ y_2
\vdots
xM yMx_M\ y_M

出力

答えを一行に出力せよ。

サンプル

入力1
3 2
2 -2 1
1 2
2 3
出力1
2

操作11で頂点11を選び、頂点1,2,31,2,3を黒で塗ります。 操作22で頂点22を選び、頂点2,32,3を白で塗ります。このとき、黒で塗られている頂点に書かれた整数の和はB1=2B_1=2となります。

入力2
5 6
4 -3 2 -1 -10
1 2
1 5
2 1
3 4
4 3
4 5
出力2
2

グラフが閉路を含むこともあります。操作11で頂点1,31,3を選び、22番目の操作で頂点55を選ぶのが最適です。

入力3
3 0
-3 -1 -4
出力3
0

11つも選ばなくても良いです。

Submit


Go (1.21)