問題一覧 > 通常問題

No.3749 Three Jugs

レベル : / 実行時間制限 : 1ケース 5.000秒 / メモリ制限 : 1024 MB / 標準ジャッジ問題
タグ : (AC するまで非表示) / 解いたユーザー数 2
作問者 : Naru820 / テスター : ponjuice
お気に入りにしたユーザー ProblemId : 14005 / 自分の提出
問題文最終更新日: 2026-09-19 06:51:01
yukicoder contest 515 (順位表) の他の問題:

問題文

変数 $a_1,a_2,a_3$ があります。初め $(a_1,a_2,a_3) = (B_1,B_2,B_3)$ です。あなたは今から以下の操作を好きな回数行うことができます。

  • 異なる整数 $i,j \in \{1,2,3\}$ を選ぶ。$a_i,a_j$ を同時に $a_i - \min(a_i,A_j - a_j),a_j + \min(a_i,A_j - a_j)$ で置き換える。

あなたの目標は、$(a_1,a_2,a_3) = (C_1,C_2,C_3)$ とすることです。これが可能かどうかを判定し、可能ならば目標を達成するのに必要な操作回数の最小値を求めてください。

テストケースは全部で $T$ ケース与えられます。

制約

  • $1 \le T \le 10^4$
  • $A_i \ge 1$
  • $A_1 + A_2 + A_3 \le 10^{18}$
  • $0 \le B_i,C_i \le A_i$
  • $B_1 + B_2 + B_3 = C_1 + C_2 + C_3$
  • 入力は全て整数

入力

入力は以下の形式で与えられます。ここで、$\text{case}_i$ は $i$ 番目のテストケースです。

$T$
$\text{case}_1$
$\text{case}_2$
$\vdots$
$\text{case}_T$

各テストケースは以下の形式で与えられます。

$A_1 \ A_2 \ A_3$
$B_1 \ B_2 \ B_3$
$C_1 \ C_2 \ C_3$

出力

$T$ 行出力してください。

$i$ 行目には、$\text{case}_i$ に対して、目標を達成することが不可能ならば $-1$ を、そうでない場合は必要な最小の操作回数を出力してください。

サンプル

サンプル1
入力
4
3 2 1
3 0 0
1 1 1
3 2 2
3 0 0
1 1 1
499999999999999999 250000000000000000 249999999999999999
499999999999999999 0 0
374999999999999999 125000000000000000 0
400000000000000000 300000000000000000 200000000000000000
400000000000000000 0 0
0 200000000000000001 199999999999999999
出力
2
-1
499999999999999998
-1
一つ目のテストケースについて、次の2回の操作で目標を達成することができます。
  • $i = 1,j = 2$ として操作する。$(a_1,a_2,a_3) = (1,2,0)$ となる。
  • $i = 2,j = 3$ として操作する。$(a_1,a_2,a_3) = (1,1,1)$ となる。
1回以下の操作では目標を達成できないため、答えは $2$ です。

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