まぁいつものごとく4完なんですが、早解きのお陰で温まりました。
A - Long Loong
要するにループをかけますか、です。流石にかけます。
B - CTZ
nを何回(自然数を保ったまま)2で割れますか?という問題に言い換えできます。言い換えてしまえばループを書くだけ。
C - Even Digits
こういうのはだいたい(登場する数字の数 (= 5))進数を考えれば良いです。この言い換えができればこれもまたやるだけなんですが、0スタートなので0-indexで考える必要があり、n番目の数を考えるときにn≠0であるあいだ5で割るのようなコードを書くので、n=1がコーナーケースになる。1敗
D - Pyramid
左右からそれぞれDPっぽいことをする。
DP[i] = A[i].min(DP[i-1] + 1).min(左端から何番目か)
DP[i] = A[i].min(DP[i+1] + 1).min(右端から何番目か)
操作終了後、最も大きい値が答え。
E - Digit Sum Divisible
"ハーシャッド数" という言葉を知って、詳しくなるなど...(尚問題は全くわからない模様)