結果
問題 |
No.609 Noelちゃんと星々
|
ユーザー |
![]() |
提出日時 | 2020-02-12 07:29:06 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 759 bytes |
コンパイル時間 | 170 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 86,144 KB |
最終ジャッジ日時 | 2024-10-02 09:53:08 |
合計ジャッジ時間 | 4,326 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 4 WA * 21 |
ソースコード
def main(): N = int(input()) Y = list(map(int, input().split())) def check(mid_left, mid_right): sum1 = 0 sum2 = 0 for i in range(N): sum1 += abs(mid_left-Y[i]) sum2 += abs(mid_right-Y[i]) if sum1 >= sum2: return True else: return False r = Y[-1] l = Y[0] while abs(r - l) > 2: mid_l = (l * 2 + r) // 3 mid_r = (l + r * 2) // 3 if check(mid_l, mid_r): l = mid_l else: r = mid_r ans = float('inf') for a in range(l,r+1): tmp = 0 for i in range(N): tmp += abs(a - Y[i]) ans = min(ans, tmp) print(ans) if __name__ == "__main__": main()