atcoder#ABC210E. [ABC210E] Ring MST

[ABC210E] Ring MST

配点 : 500500

問題文

NN 個の頂点と 00 本の辺からなる無向グラフがあります。 NN 個の頂点をそれぞれ頂点 00、頂点 11、頂点 22\ldots、頂点 N1N-1と呼びます。

このグラフに対する MM 種類の操作を考えます。 i=1,2,,Mi = 1, 2, \ldots, M について、ii 番目の操作は「 0x<N0 \leq x \lt N を満たす整数 xx を選び、頂点 xx と頂点 (x+Ai)modN(x + A_i) \bmod N を結ぶ無向辺を追加する」という操作です。ただし、amodba \bmod baabb で割った余りを表します。 ii 番目の操作を 11 回行うと CiC_i 円の費用がかかります。

あなたは、MM 種類の操作をそれぞれ好きな回数( 00 回でもよい)行うことができます。 例えば、33 種類の操作がある場合、11 番目の操作を 22 回、22 番目の操作を 00 回、33 番目の操作を 11 回行うという選択が可能です。

グラフを連結にすることが可能かどうかを判定し、可能な場合はそのためにかかる費用の合計として考えられる最小値を求めてください。

制約

  • 2N1092 \leq N \leq 10^9
  • 1M1051 \leq M \leq 10^5
  • 1AiN11 \leq A_i \leq N-1
  • 1Ci1091 \leq C_i \leq 10^9
  • 入力はすべて整数

入力

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

NN MM

A1A_1 C1C_1

A2A_2 C2C_2

\vdots

AMA_M CMC_M

出力

グラフを連結にすることが可能な場合は、そのためにかかる費用の合計として考えられる最小値を出力せよ。 グラフを連結にすることが不可能な場合は、1-1 を出力せよ。

4 2
2 3
3 5
11

まず 11 番目の操作で頂点 00 と頂点 22 を結び、次に 11 番目の操作で頂点 11 と頂点 33 を結び、最後に 22 番目の操作で頂点 11 と頂点 00 を結ぶと、グラフは連結になります。 かかった費用の合計は 3+3+5=113+3+5 = 11 円で、これが考えられる最小値です。

6 1
3 4
-1

どのように操作を行ってもグラフを連結にすることができないので、1-1 を出力します。