結果

問題 No.3254 Xor, Max and Sum
コンテスト
ユーザー ID 21712
提出日時 2026-05-02 00:16:06
言語 Go
(1.26.1)
コンパイル:
env GOCACHE=/tmp go build _filename_
実行:
./Main
結果
WA  
実行時間 -
コード長 465 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 14,259 ms
コンパイル使用メモリ 278,836 KB
実行使用メモリ 7,976 KB
最終ジャッジ日時 2026-05-02 00:16:26
合計ジャッジ時間 15,464 ms
ジャッジサーバーID
(参考情報)
judge3_1 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 25 WA * 23
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

package main

import . "fmt"

func main() {
	var n,m int
	Scan(&n,&m)
	if n == 1 {
		Println(0)
		return
	}
	ans := m*(n-n%2)
	if n%2 != 0 {
		tmp := m*(n-2)
		x := 0
		for i := 32; i>=0; i-- {
			b := 1<<i
			if b <= m {
				x = b
				break
			}
		}
		y := m^x
		for i := 32; i >= 0; i-- {
			b := 1 << i
			if b <= y && (y&b) == 0 {
				x |= b
				y |= b
			}
		}
		if x <= m && y <= m && (x^y^m) == 0 {
			tmp += x+y
			ans = max(ans, tmp)
		}
	}
	Println(ans)
}
0