結果
問題 | No.1243 約数加算 |
ユーザー |
![]() |
提出日時 | 2020-10-03 01:30:54 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,089 bytes |
コンパイル時間 | 10,045 ms |
コンパイル使用メモリ | 229,380 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-18 02:46:40 |
合計ジャッジ時間 | 10,695 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 9 |
ソースコード
package mainimport ("bufio""fmt""os")func main() {defer writer.Flush()T := ReadInt()for t := 0; t < T; t++ {A, B := ReadInt(), ReadInt()solve(A, B)}}func solve(A, B int) {ans := make([]int, 0)N := 60var l intfor i := N; i >= 0; i-- {if A>>i&1 < B>>i&1 {l = ibreak}}for i := 0; i < l; i++ {if A>>i&1 == 1 {A += 1 << ians = append(ans, 1<<i)}}if A>>l&1 < B>>l&1 {A += 1 << lans = append(ans, 1<<l)}for i := l - 1; i >= 0; i-- {if A>>i&1 == 0 && B>>i&1 == 1 {ans = append(ans, 1<<i)}}Println(len(ans))for i := 0; i < len(ans); i++ {if i > 0 {Printf(" ")}Printf("%d", ans[i])}Println()}var reader = bufio.NewReader(os.Stdin)func Scan(a ...interface{}) {if _, err := fmt.Fscan(reader, a...); err != nil {panic(err)}}func ReadInt() (i int) { Scan(&i); return }var writer = bufio.NewWriter(os.Stdout)func Printf(format string, a ...interface{}) { fmt.Fprintf(writer, format, a...) }func Println(a ...interface{}) { fmt.Fprintln(writer, a...) }