結果
問題 |
No.180 美しいWhitespace (2)
|
ユーザー |
|
提出日時 | 2025-03-07 16:31:20 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 982 bytes |
コンパイル時間 | 314 ms |
コンパイル使用メモリ | 82,092 KB |
実行使用メモリ | 75,440 KB |
最終ジャッジ日時 | 2025-03-07 16:31:23 |
合計ジャッジ時間 | 3,384 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 4 |
other | WA * 31 |
ソースコード
def calculate_splendor(tab_width, n, lines): min_width = float('inf') max_width = -float('inf') for spaces, tabs in lines: width = spaces + tabs * tab_width min_width = min(min_width, width) max_width = max(max_width, width) return max_width - min_width def solve(n, lines): left, right = 1, 100000 # 1 <= tab_width <= 100000と仮定 # 三分探索を100回行う for _ in range(100): c1 = (2 * left + right) // 3 c2 = (left + 2 * right) // 3 if calculate_splendor(c1, n, lines) < calculate_splendor(c2, n, lines): right = c2 else: left = c1 # 最終的に求めたタブ幅での最小の醜さ return calculate_splendor(left, n, lines) # 入力の処理 n = int(input()) # 行数 lines = [] for _ in range(n): spaces, tabs = map(int, input().split()) lines.append((spaces, tabs)) # 結果を出力 print(solve(n, lines))