No.274 The Wall
問題文
ブロックは基本白色であるが左からL番目から左からR番目(0-index)までの連続したブロックはピンク色である。
ブロックは180度回転することもできる(90度回転はできません)。
すなわち、以下の図のようなものである。
横の長さが同じ
それぞれのブロックはそれぞれピンク色の連続した領域を1つ持つ。
N本のブロックを上に積んでいき良い壁を作りたい。
良い壁とは縦の列でブロックを見たときピンク色のブロックが1つ以下のものをいう。
例えば、
左の壁は縦にブロックを見たときにピンク色のブロックが無いか1つのピンク色のブロックがある良い壁である。
一方、右の壁は縦で見たときピンク色のブロックが2つ以上ある場合があり悪い壁である。
いずれのブロックにも180度回転を好きなだけ行うことができる。
与えられるN本のブロックをすべて積んで良い壁を作れるか判定せよ。
入力
出力
良い壁ができる時には"YES" 、できないときには"NO"を1行で出力してください。
最後に改行してください。
サンプル
サンプル1
入力
4 6 5 5 2 3 4 4 1 1
出力
YES
問題文中の良い壁の例と同じ。
どのブロックも180度回転させずに積めば良い壁になる。
0番目のブロックを180度回転させても良い壁には変わりない。
サンプル2
入力
4 6 3 5 3 4 4 4 1 2
出力
NO
問題文中の悪い壁の例と同じ。
180度回転をどのように使っても良い壁はできない。
サンプル3
入力
2 4 0 1 0 1
出力
YES
どちらかのブロックを180度回転させて積めば良い壁になる。
サンプル4
入力
5 10 8 8 0 0 2 4 2 3 8 8
出力
YES
良い壁にできます。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。