結果

問題 No.3254 Xor, Max and Sum
コンテスト
ユーザー ID 21712
提出日時 2026-05-02 00:25:36
言語 Go
(1.26.1)
コンパイル:
env GOCACHE=/tmp go build _filename_
実行:
./Main
結果
WA  
実行時間 -
コード長 471 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 12,863 ms
コンパイル使用メモリ 274,028 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2026-05-02 00:25:52
合計ジャッジ時間 12,955 ms
ジャッジサーバーID
(参考情報)
judge3_1 / judge1_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
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
	} else if n % 2 == 0 {
		Println(n*m)
		return
	}
	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 (m&b) == 0 && (x|b)<=m && (y|b) <= m {
			x |= b
			y |= b
		}
	}
	ans := m*(n-1)
	if (x^y^m)==0 && x <= m && y <= m {
		ans = max(ans, m*(n-2) + x+y)
	}
	Println(ans)
}
0