結果
問題 | No.1251 絶対に間違ってはいけない最小化問題 |
ユーザー | anagohirame |
提出日時 | 2020-10-09 22:25:03 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 654 ms / 2,000 ms |
コード長 | 423 bytes |
コンパイル時間 | 309 ms |
コンパイル使用メモリ | 82,688 KB |
実行使用メモリ | 128,092 KB |
最終ジャッジ日時 | 2024-07-20 12:33:43 |
合計ジャッジ時間 | 24,370 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 42 |
ソースコード
n = int(input()) a = list(map(int, input().split())) b = list(map(int, input().split())) c = [] for x, y in zip(a, b): c.append((x, y)) c.sort() v = 0 for x, y in c: v += y * abs(c[0][0] - x) ans1, ans2 = c[0][0], v l, r = c[0][1], sum(b) - c[0][1] for i in range(1, n): v += l * (c[i][0] - c[i-1][0]) v -= r * (c[i][0] - c[i-1][0]) l += c[i][1] r -= c[i][1] if v < ans2: ans1, ans2 = c[i][0], v print(ans1, ans2)