結果
問題 |
No.3016 ハチマキおじさん
|
ユーザー |
![]() |
提出日時 | 2025-01-25 17:26:07 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 263 ms / 2,000 ms |
コード長 | 549 bytes |
コンパイル時間 | 692 ms |
コンパイル使用メモリ | 82,340 KB |
実行使用メモリ | 145,784 KB |
最終ジャッジ日時 | 2025-01-25 23:58:30 |
合計ジャッジ時間 | 6,974 ms |
ジャッジサーバーID (参考情報) |
judge13 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 31 |
ソースコード
n=int(input()) a=list(map(int,input().split())) b=list(map(int,input().split())) a.sort() b.sort() ad=[0]*n adr=[0]*n for i in range(n-1): ad[i]=abs(a[i]-b[i]) for i in range(n-1,0,-1): adr[i]=abs(a[i]-b[i-1]) for i in range(1,n-1): ad[i]+=ad[i-1] for i in range(n-2,0,-1): adr[i]+=adr[i+1] ans = int(1e18) p =[] for i in range(n): if i == 0: now=adr[1] elif i == n-1: now=ad[n-2] else: now=ad[i-1]+adr[i+1] if now < ans: ans=now p.clear() p.append(a[i]) elif now==ans: p.append(a[i]) p=list(set(p)) print(len(p)) print(*p)