結果

問題 No.3363 Two Closest Numbers
コンテスト
ユーザー toka0428
提出日時 2025-11-17 22:44:49
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 804 bytes
コンパイル時間 334 ms
コンパイル使用メモリ 82,440 KB
実行使用メモリ 105,480 KB
最終ジャッジ日時 2025-11-17 22:44:58
合計ジャッジ時間 8,345 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 53 WA * 6
権限があれば一括ダウンロードができます

ソースコード

diff #

import itertools

N = int(input())
C = list(map(int,input().split()))
mod = 998244353
ans = 0
if N % 2 == 1:
  C.sort()
  X = N // 2 + 1
  for i in range(X):
    ans += C[i]*pow(10,X-i-1,mod)
    ans %= mod
  for i in range(X,N):
    ans -= C[i]*pow(10,i-X,mod)
    ans %= mod
  print(ans)  
else:
  S = {}
  for i in range(N):
    if C[i] in S:
      S[C[i]] += 1
    else:
      S[C[i]] = 1
  L = []
  for i in S:
    if S[i] % 2 == 1:
      L.append(i)
  l = len(L)    
  R = list(itertools.permutations(L))
  r = len(R)
  ans = 10000000000
  for i in range(r):
    count = 0
    X = l // 2
    for j in range(X):
      count += R[i][j]*pow(10,X-j-1,mod)
      count %= mod
    for j in range(X,l):
      count -= R[i][j]*pow(10,j-X,mod)
      count %= mod
    ans = min(abs(count),ans)
  print(ans)  
0