結果
問題 | No.1251 絶対に間違ってはいけない最小化問題 |
ユーザー |
|
提出日時 | 2022-07-19 21:39:13 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 300 ms / 2,000 ms |
コード長 | 506 bytes |
コンパイル時間 | 153 ms |
コンパイル使用メモリ | 82,456 KB |
実行使用メモリ | 109,492 KB |
最終ジャッジ日時 | 2024-07-02 01:32:02 |
合計ジャッジ時間 | 19,104 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 42 |
ソースコード
N = int(input()) lsA = list(map(int,input().split())) lsB = list(map(int,input().split())) def func(arg): a = 0 for i in range(N): a += lsB[i] * abs(arg-lsA[i]) return a def sanbunntan(l,r): while l + 2 < r: c1 = l+(r-l)//3 c2 = r-(r-l)//3 if func(c1)<func(c2): r = c2 else: l = c1 val = sorted([(func(i),i) for i in range(l,r+1)])[0][1] return val ans = sanbunntan(-10**6, 10**6+1) fans = func(ans) print(ans,fans)