名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。アクセス解析のためGAを利用、Googleに情報を送信しています。商品紹介のためAmazonアフィリエイトを利用、Amazonに情報を送信しています。記事に関しては私が書いていない引用文を除いて自由にご利用ください。

No.178 美しいWhitespace (1)

回答

#44627 No.178 美しいWhitespace (1) - yukicoder

結構実装がめんどくさかった記憶.
まず,入力データの受取と同時に最大のスペースのものを求める.
で,入力データがすべて奇数,または偶数であることを確認.どれか一つでも違っていたら絶対に合わないので,-1.
すべて奇数,偶数ならあとは最大値に合わせてひたすら足しあわせる.

N = int(input())
li = []
mw = 0
for i in range(N):
    a, b = map(int, input().split())
    w = a + b * 4
    mw = max(mw, w)
    li.append(w)

# imcalculate check
eli = [i for i in li if i % 2 == 0]
if len(eli) != N and len(eli) != 0:
    print(-1)
    exit(0)

res = 0
for elem in li:
    res += (mw) - elem
print(res // 2)