BoB004-D: Alchemist 2

2 secs 1024 MB
kyaneko999's icon kyaneko999

解説

現在残っている数を X=(X1,X2,,XM)X=(X_1,X_2,\dots,X_M) とします.最初,X=AX=A です.
X1,X2,,XMX_1,X_2,\dots,X_M に含まれる素因数 22 の個数の和を CC とすると,錬金術を 11 回行うことで以下が成り立ちます.

  • MM11 減少する.
  • CC11 減少する.

錬金術を行うためには,M2M\ge 2 かつ C1C\ge 1 である必要があります.
逆に,M2M\ge 2 かつ C1C\ge 1 が成り立つならば,XX に含まれる 22 の倍数とその他の数を適当に選ぶことで必ず錬金術を行うことができます.
よって,A1,A2,,ANA_1,A_2,\dots,A_N に含まれる素因数 22 の個数の和を CAC_A とすると,求める答えは min{N1,CA}\min\{N-1,C_A\} です.

解答例(Python)