水面下の夢

競プロやイラストに興味があります.メインブログがここ.ソシャゲの話はこっち(http://ameblo.jp/0n0-yumechi/).ブログアイコンはYaQ(@8_9_00)さんから.

今日の競プロ(2015/05/08) その3

もう終わり.

ABC 019 C

問題

C: 高橋くんと魔法の箱 - AtCoder Beginner Contest #019 | AtCoder

回答

Submission #399354 - AtCoder Beginner Contest #019 | AtCoder

回答のセットを別に準備したらうまくいきました… 内部だけで処理しようとすると失敗しますね….
上手くやる方法もあるのかもしれませんが….

あと,リストとセットの速度の差を肌で感じました.リストでやったら余裕のTLEでしたもんね.

N = int(input())
aset = set(map(int, input().split()))
resset = set()
for elem in aset:
     while elem % 2 == 0:
         elem //= 2
     resset.add(elem)
print(len(resset))