あなたはこれらの宝石の中からいくつかを選んで手に入れます。選ばなくとも、全て選んでも構いません。支払わなければいけません。最大値を求めてください。入力は全て整数である。正になれば買い得なので買いましょう。逆に負なら買い損です。黒板に書かれています。以下の好きな整数に書き換えます。元の整数と同じ整数に書き換えても構いません。個の整数の最大公約数の最大値を求めてください。入力は全て整数である。10^9考えたことC問題は全探索、ということでたぶんなんらかの前処理をして各数字を実際に消してみてgcdを計算するんだろうなーと思いました。A_iを変えたときのgcdがO(1)とかO(n)で求まれば良さそうです。そのような前処理をうんうん考えましたがわかりませんでした。DPテーブルっぽいのを埋めていくのとか各数字の約数を数えてその個数がnかn-1で最大の約数を探すとか、色々試してみたつもりでしたが全て計算量を落としきることができませんでした。back[i+1])を計算するというものでした。思いつけなかったのか......本当に悔しいし悲しいし虚しいです。後ろから処理しておくという発想が全くなく、本当に頭の片隅にもなかったです。論理的に考えればわかりそうなものなのにどうしてできなかったのか......ゴールデンウィーク中は引っ張ると思います。あなたはこの整数列に対して次の操作を好きなだけ行うことができます。