問題
考察
素直に数式に当てはめて答えを求めていけばいい問題です。$A$の添字が1つ増えるに連れて、係数が2倍になっています。そこで、答えを出力するための変数$ans=0$と現在の係数を表す$x=1$を用意。$i=0$から順に$A_i×x$を計算して$ans$に足していきましょう。$i$を1つ増やすたびに$x$も2倍にすればOKです。
1つ注意点として、答えの値は最大で$2^{64}-1$になります。C++ではlong long
型の変数でもオーバーフローを起こす可能性があります。unsigned long long
型の変数にするなど、できるだけ大きな整数が扱えるようにしておきましょう。
提出コード(コンテスト後)
ご不明点などがあれば教えていただけると幸いです。
参考