結果

問題 No.3016 ハチマキおじさん
ユーザー kidodesu
提出日時 2025-01-25 13:06:34
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 243 ms / 2,000 ms
コード長 509 bytes
コンパイル時間 423 ms
コンパイル使用メモリ 81,664 KB
実行使用メモリ 149,304 KB
最終ジャッジ日時 2025-01-25 22:33:24
合計ジャッジ時間 6,788 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 31
権限があれば一括ダウンロードができます

ソースコード

diff #

n = int(input())
A = list(map(int, input().split()))
B = list(map(int, input().split()))

A.sort()
B.sort()
inf = float("INF")
dp = [inf] * n
dp[-1] = 0
for i in range(n-2, -1, -1):
    a = A[i+1]
    b = B[i]
    dp[i] = dp[i+1] + abs(a - b)

ans = dp[0]
tmp = 0
D = [0]
for i in range(n-1):
    tmp += abs(A[i] - B[i])
    D.append(tmp)
    ans = min(ans, tmp + dp[i+1])

Ans = set()
for i in range(n):
    if D[i] + dp[i] == ans:
        Ans.add(A[i])
Ans = list(Ans)
Ans.sort()
print(len(Ans))
print(*Ans)
0