https://yukicoder.me/problems/no/589
解法
https://yukicoder.me/submissions/213978
注意!!以下、手抜き回答です。
OEISという数列辞典があるので、愚直に計算してみて、結果を入れてみると出て来る。
https://oeis.org/A048967
これを元に実装すると答え。
下の回答にはジャッジに使われる部分しか書いてないが、上のリンクの実装では、愚直解の生成もついている。
ll N; //--------------------------------------------------------------------------------------------------- ll f(ll a) { if (a == 0 or a == 1) return 0; if (a % 2 == 0) return f(a / 2) + a / 2; return 2 * f(a / 2); } //--------------------------------------------------------------------------------------------------- void _main() { cin >> N; cout << f(N) << endl; }