結果
| 問題 |
No.1251 絶対に間違ってはいけない最小化問題
|
| コンテスト | |
| ユーザー |
👑 SPD_9X2
|
| 提出日時 | 2020-10-09 22:57:28 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 477 ms / 2,000 ms |
| コード長 | 485 bytes |
| コンパイル時間 | 196 ms |
| コンパイル使用メモリ | 82,376 KB |
| 実行使用メモリ | 108,172 KB |
| 最終ジャッジ日時 | 2024-07-20 13:38:33 |
| 合計ジャッジ時間 | 21,706 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 42 |
ソースコード
from sys import stdin
def f(x):
ret = 0
for i in range(N):
ret += B[i] * abs(x-A[i])
return ret
N = int(stdin.readline())
A = list(map(int,stdin.readline().split()))
B = list(map(int,stdin.readline().split()))
l = -1 * (10**9)
r = 10**9
while r-l > 3:
m1 = (l*2+r)//3
m2 = (l+r*2)//3
if f(m1) <= f(m2):
r = m2
else:
l = m1
ans = 0
for i in range(l-10,r+10):
if f(ans) >= f(i):
ans = i
print (ans,f(ans))
SPD_9X2