結果
問題 | No.198 キャンディー・ボックス2 |
ユーザー |
![]() |
提出日時 | 2015-08-28 17:26:58 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 12 ms / 1,000 ms |
コード長 | 412 bytes |
コンパイル時間 | 52 ms |
コンパイル使用メモリ | 6,912 KB |
実行使用メモリ | 6,400 KB |
最終ジャッジ日時 | 2024-11-16 09:05:56 |
合計ジャッジ時間 | 1,254 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 26 |
ソースコード
def calc(b): lc = sum(b - c for c in C if c < b) rc = sum(c - b for c in C if c >= b) return 10**10 if rc + B < lc else rc + lc B = input() N = input() C = [input() for i in range(N)] left = 0 right = 10**9 + 1 while right - left > 2: lmid = (left*2 + right)/3 rmid = (left + right*2)/3 if calc(lmid) <= calc(rmid): right = rmid else: left = lmid print min(calc(left),calc((left+right)/2),calc(right))