結果

問題 No.3363 Two Closest Numbers
コンテスト
ユーザー 👑 binap
提出日時 2025-11-17 22:30:39
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
WA  
実行時間 -
コード長 670 bytes
コンパイル時間 211 ms
コンパイル使用メモリ 12,288 KB
実行使用メモリ 14,516 KB
最終ジャッジ日時 2025-11-17 22:31:16
合計ジャッジ時間 35,918 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 53 WA * 5 RE * 1
権限があれば一括ダウンロードができます

ソースコード

diff #

import itertools

N = int(input())
A = list(map(int, input().split()))

A = sorted(A)
if N % 2:
	D = A[0]
	for i in range(N // 2):
		D *= 10
		D += A[1 + i]
		D -= A[(N - 1) - i]
	print(D % 998244353)
else:
	B = [0] * 10
	for i in range(N):
		B[A[i]] += 1
	C = []
	for x in range(10):
		if B[x] % 2:
			C.append(x)
	M = len(C)
	
	assert(C != [1, 8])
	
	if M == 0:
		print(0)
	else:
		ans = 1001001001001
		for p in itertools.permutations(range(M)):
			p_list = list(p)
			p1 = p_list[0: M // 2]
			p2 = p_list[M // 2: M]
			X = 0
			Y = 0
			for i in p1:
				X *= 10
				X += C[i]
			for i in p2:
				Y *= 10
				Y += C[i]
			ans = min(ans, abs(X - Y))
		
		print(ans)
	
0