結果

問題 No.3363 Two Closest Numbers
コンテスト
ユーザー toka0428
提出日時 2025-11-17 22:49:53
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 862 bytes
コンパイル時間 357 ms
コンパイル使用メモリ 82,904 KB
実行使用メモリ 105,112 KB
最終ジャッジ日時 2025-11-17 22:50:02
合計ジャッジ時間 8,509 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
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
  if l == 0:
    print(0)
  else:  
    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