結果
問題 |
No.2939 Sigma Popcount Problem
|
ユーザー |
![]() |
提出日時 | 2025-02-14 09:32:05 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 518 ms / 2,000 ms |
コード長 | 506 bytes |
コンパイル時間 | 457 ms |
コンパイル使用メモリ | 82,772 KB |
実行使用メモリ | 77,308 KB |
最終ジャッジ日時 | 2025-02-14 09:32:15 |
合計ジャッジ時間 | 7,551 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
T = int(input()) def solve(n:int): n += 1 res = 0 for i in range(0, 41): # 1cycle ... 2**(i+1) 個 # 1cycle の中には半分1がある ... 2**(i) 個 sho, amari = divmod(n, 1<<(i + 1)) res += sho * (1<<i) # あまり部分の寄与 # あまり部分は うしろ半分に1がつまっている sub = amari - (1<<i) if sub > 0: res += sub return res for i in range(T): N = int(input()) print(solve(N))