問題一覧 > 通常問題

No.178 美しいWhitespace (1)

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 64 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 483
作問者 : ぴろず
4 ProblemId : 424 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2017-06-25 01:00:53

問題文

太郎君は難解プログラミング言語であるWhitespaceでプログラムを作ることに熱中しています。
Whitespaceでは、スペース・タブ・改行のみを構文に使用し、その他は無視します。

太郎君はソースコードの美しさにこだわりがあり、ソースコードについて、すべての行の幅が等しい時に「完璧」と呼びます。
太郎君は自分の書いたWhitespaceのソースコードに全角スペースを挿入することで「完璧」にしようとしています。
太郎君がソースコードを「完璧」にするために必要な最小の全角スペースの数を求めるプログラムを作ってください。
ただし、ある行のスペースの数をa、タブの数をb、全角スペースの数をcとしたとき、その行の幅は(a+4b+2c)とします。
普通のエディタとは異なり、タブの位置などは幅に影響しません。

入力

N
a1 b1

aN bN

1行目に太郎君が完璧にしたいソースコードの行数Nが与えられます。
続くN行は、ソースコードの行ごとの情報です。i行目にはスペースがai個、タブがbi個あることを表します。

2N1000
0ai,bi107
太郎君のソースコードにはスペース・タブ・改行以外の文字は含まれません。
太郎君のソースコードがWhitespaceの文法的に正しいとは限りません。

出力

太郎君がWhitespaceのソースコードを「完璧」にできる時、必要な最小の全角スペースの数を出力してください。
「完璧」にすることが出来ない時、1を出力してください。
最後に改行してください。

サンプル

サンプル1
入力
2
1 1
3 0
出力
1

1行目はスペースが1個、タブが1個なのでで幅は1+1×4=5です。
2行目はスペースが3個、タブは0個なのでで幅は3+0×4=3です。
このままでは「完璧」でないですが、2行目に全角スペースを1個足せば全ての行の幅が5となり「完璧」になるので、1を出力します。

サンプル2
入力
4
0 0
0 0
0 0
0 0
出力
0

全ての行の幅ははじめから0で、すでに「完璧」です。
全角スペースを足す必要はないので、0を出力します。

サンプル3
入力
2
0 0
1 0
出力
-1

1行目の幅は0で、2行目の幅は1です。
どのように全角スペースを足しても「完璧」にできないので、1を出力します。

サンプル4
入力
4
30 0
20 10
10 20
0 30
出力
90

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。