1. paizaラーニングトップ
  2. レベルアップ問題集
  3. スタック・キューメニュー(言語選択)
  4. 問題一覧 Rust(Beta)編
  5. 箱とボール

スタック・キューメニューのサムネイル
箱とボール (paizaランク B 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

幅 1 の筒状の箱に数値の書かれた直径 1 のボールを入れます。各ボールは同じ数値のボールが隣合ったときに結合し、数値が 2 倍になります。それぞれ A_i と書かれた N 個のボールがあり、順番に箱の底へ入れていきます。最終的な箱の中のようすを、箱の天井から順に出力してください。

入力される値

N
A_0 A_1 ... A_N


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

最終的な箱の中のようすを、箱の天井から順に出力してください。末尾には改行を入れ、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて、以下の条件をみたします。

・ N は 1 以上 50,000 未満
・ 0 ≦ A_i < 50,000

入力例1

6
3 2 5 5 4 3

出力例1

3
4
10
2
3

入力例2

6
1 1 2 4 8 16

出力例2

32

問題一覧へ戻る

ページの先頭へ戻る