結果
問題 | No.2939 Sigma Popcount Problem |
ユーザー |
![]() |
提出日時 | 2024-10-18 21:34:29 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 513 ms / 2,000 ms |
コード長 | 696 bytes |
コンパイル時間 | 2,208 ms |
コンパイル使用メモリ | 74,940 KB |
実行使用メモリ | 64,688 KB |
最終ジャッジ日時 | 2024-10-18 22:22:52 |
合計ジャッジ時間 | 8,798 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int t = Integer.parseInt(br.readLine()); PrintWriter pw = new PrintWriter(System.out); for (int z = 0; z < t; z++) { long n = Long.parseLong(br.readLine()) + 1; long ans = 0; long p1 = 1; long p2 = 2; for (int i = 0; i < 40; i++) { long v1 = n / p2 * p1; long v2 = n % p2; long v3 = Math.max(v2 - p1, 0); ans += v1 + v3; p1 *= 2; p2 *= 2; } pw.println(ans); } pw.flush(); br.close(); } }