No.3372 Suitable Constraint
タグ : / 解いたユーザー数 52
作問者 : 👑
Iroha_3856
問題文
長さ $N$ の数列 $A = (A_1, A_2, \cdots, A_N)$ が与えられます。
任意の $1 \leq s, t \leq N$ なる整数 $s, t$ に対して以下の条件を満たすような、整数 $X$ の最大値を求めてください。
- 変数 $i$ があり、$i = s$ で初期化されている。以下の操作を $0$ 回以上の好きな回数行うことで、$i = t$ にすることができる。
- $A_i \times A_j \geq X$ なる整数 $j$ を一つ選ぶ。$i$ を $j$ に更新する。
$T$ 個のテストケースが与えられるので、それぞれについて答えてください。
制約
- $1 \leq T \leq 10^4$
- 各テストケースについて、以下の制約をすべて満たす。
- $2 \leq N \leq 2 \times 10^5$
- $-10^9 \leq A_i \leq 10^9$
- 一つの入力ファイルにおける $N$ の総和は $2 \times 10^5$ 以下である。
- 入力はすべて整数である。
入力
入力は以下の形式で標準入力から与えられます。ここで $\mathrm{case}_k ~ (1 \leq k \leq T)$ は $k$ 番目のテストケースを表します。
$T$
$\mathrm{case}_1$
$\mathrm{case}_2$
$\vdots$
$\mathrm{case}_T$
各テストケースは以下の形式で与えられます。
$N$ $A_1$ $A_2$ $\ldots$ $A_N$
出力
$T$ 行出力してください。$k$ 行目には $k$ 番目のテストケースについての答えを出力してください。
サンプル
サンプル1
入力
3 3 1 -2 3 2 1000000000 999999999 9 9 9 -8 2 -4 -4 3 -5 3
出力
-2 999999999000000000 -8
$1$ 番目のテストケースについて、$X = -2$ かつ $s = 2, ~ t = 3$ としたとき、以下のように操作を行うことで目標を達成できます。
ここで、はじめ変数 $i$ は $2$ です。
- $j = 1$ を選び、$i$ をその $j$ に更新する。$A_2 \times A_1 = -2 \times 1 = -2 \geq X$ となるため条件を満たす。
- $j = 3$ を選び、$i$ をその $j$ に更新する。$A_1 \times A_3 = 1 \times 3 = 3 \geq X$ となるため条件を満たす。
$X = -2$ では任意の $s, t$ で達成可能で、$X \geq -1$ では達成不可能です。よって $-2$ が答えとなります。
$2$ 番目のテストケースについて、答えが $32$ bit 整数型の範囲に収まらない場合があることに注意してください。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。