結果
| 問題 |
No.2939 Sigma Popcount Problem
|
| コンテスト | |
| ユーザー |
ID 21712
|
| 提出日時 | 2025-03-18 13:28:51 |
| 言語 | Go (1.23.4) |
| 結果 |
AC
|
| 実行時間 | 1,497 ms / 2,000 ms |
| コード長 | 464 bytes |
| コンパイル時間 | 12,581 ms |
| コンパイル使用メモリ | 242,676 KB |
| 実行使用メモリ | 8,096 KB |
| 最終ジャッジ日時 | 2025-03-18 13:29:18 |
| 合計ジャッジ時間 | 25,294 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 18 |
ソースコード
package main
import . "fmt"
func main() {
b := make([]int64, 64)
for i, s := 0, int64(0); i < 62; i++ {
b[i] = s+1
s += b[i]+(1<<i-1)
}
var c func(x int64) int64
c = func(x int64) (s int64) {
for i := 61; i >= 0; i-- {
if (x&(1<<i)) != 0 {
x -= (1<<i)
s += b[i] + x
}
}
return
}
var t int
Scan(&t)
for ; t>0; t-- {
var n int64
Scan(&n)
Println(c(n))
}
}
// 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111
ID 21712