結果

問題 No.3375 Binary Grid
コンテスト
ユーザー Iroha_3856
提出日時 2025-11-20 21:55:54
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 551 bytes
コンパイル時間 294 ms
コンパイル使用メモリ 82,564 KB
実行使用メモリ 77,812 KB
最終ジャッジ日時 2025-11-21 20:52:56
合計ジャッジ時間 3,268 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 1 WA * 6
権限があれば一括ダウンロードができます

ソースコード

diff #

#むずすぎる

def solve():
	R, C = map(int, input().split())
	C -= 1
	b = R.bit_length()
	u = -1
	for x in range(b-1, -1, -1):
		if (R>>x&1) == 0:
			u = x
			break
	if u < C:
		print(R-1)
		return
	l = 1 << u
	t = R // l + 1
	t *= l
	# print("t, u", t, u)
	q = 0
	for x in range(C, b):
		if (R>>x&1) == 0:
			q = x
			break
	q -= 1
	p = (R // (1<<q) + 1) * (1<<q) - 1
	# print("p, q", p, q)
	#(R, C) から (p, q) を経由して (t, u) へ
	cost = max(q - C, p - R) + max(t - p, u - q) + t - 1
	print(cost)
for _ in range(int(input())):
	solve()
0