結果
| 問題 | 
                            No.178 美しいWhitespace (1)
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2017-01-01 06:34:57 | 
| 言語 | Python3  (3.13.1 + numpy 2.2.1 + scipy 1.14.1)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 36 ms / 2,000 ms | 
| コード長 | 1,028 bytes | 
| コンパイル時間 | 230 ms | 
| コンパイル使用メモリ | 12,544 KB | 
| 実行使用メモリ | 10,880 KB | 
| 最終ジャッジ日時 | 2024-12-16 04:53:25 | 
| 合計ジャッジ時間 | 2,220 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 4 | 
| other | AC * 21 | 
ソースコード
# coding: utf-8
# yukicoder No.178 美しいWhitespace (1)
def is_complete(space_n, tab_n): # 完璧にできるときは必要な全角スペースの数を、そうでないときは-1を返す関数
    parity = [i % 2 for i in space_n] # スペースの数の偶奇リスト
    zspace_num = 0
    
    if parity.count(1) == len(parity) or parity.count(0) == len(parity): # 全ての行のスペースの数の偶奇が一致しているときだけ完全に出来る
        width = [a + 4 * b for (a,b) in zip(space_n, tab_n)]
        max_w = max(width)
        
        for (a,b) in zip(space_n, tab_n):
            zspace_num += (max_w - (a + 4 * b)) // 2 # 必要な全角スペースの数をカウント
        
        return zspace_num
    else: # 偶奇が一致していないときは不可
        return -1
# 入力部
N = int(input())
space_n = []
tab_n = []
for _ in range(N):
    a, b = map(int, input().split())
    space_n.append(a)
    tab_n.append(b)
# 出力部
print(is_complete(space_n, tab_n))