Official

B - Base 2 Editorial by yuto1115

解説

for 文等を使って、問題文で書かれている通りに答えを求めればよいです。下記の実装例のようにビットシフト演算子を用いると簡潔です。符号付き 64 bit 整数 (C++ の long long 型など) は表現することのできる値の最大値が \(2^{63}-1\) なので、この問題には適さないことに注意してください (符号なし 64 bit 整数や多倍長整数などを用いるとよいです)。

実装例 (C++) :

#include<bits/stdc++.h>

using namespace std;

using ull = unsigned long long;

int main() {
    ull ans = 0;
    for (int i = 0; i < 64; i++) {
        ull a;
        cin >> a;
        ans += a << i;
    }
    cout << ans << endl;
}

実装例 (Python) :

a = list(map(int, input().split()))
ans = 0
for i in range(64):
    ans += a[i] << i
print(ans)

posted:
last update: