No.360 増加門松列
問題文
門松列 とは $3$ 個の要素からなる数列 $A_1, A_2, A_3$ で以下の 2 つの条件を満たすものです。
- $A_1, A_2, A_3$ は全て異なる
- $3$ つの要素の中で $A_2$ が最も大きい、または、$A_2$ が最も小さい
数列 $A_1, A_2, A_3$ が 門松列 かつ $A_1 < A_3$ であるとき、これを増加門松列といいます。
また、 長さ $n$ の数列 $ A = A_1, A_2, ... , A_n $ の 長さ $3$ の 連続部分列 が全て増加門松列であるとき、
数列 $A$ は 増加門松列列 であるといいます。
長さ $3$ の連続部分列とは、 $A_i, A_{i+1}, A_{i+2}$ $(1 \leq i \leq n-2)$ のことです。
koyumeishiくんは門松列を題材にした競技プログラミングのコンテストを開こうとしています。
全部で $7$個 問題を作ったのですが、門松列が題材という事なので 問題の並び順も
門松列に関係するものにしよう思いました。
あまりに難易度が高い問題が最初の方にあっては参加者がビックリしてしまうので、
難易度が増加門松列列になるように並べると良さそうですね。
あ、でも待ってください。
もしかすると問題の難易度の分布によっては増加門松列列に出来ないかもしれませんね…。
困りました。
7問の難易度が与えられるので、増加門松列列順に並べることが可能か判定してください。
可能なら "YES" 、 不可能なら "NO" と出力してください。
入力
$D_1$ $D_2$ $D_3$ $D_4$ $D_5$ $D_6$ $D_7$
7問の難易度が空白区切りで与えられます。
入力は整数で、 $1 \leq D_k \leq 100$ を満たします。
出力
増加門松列列に並べることが可能なら "YES" 、 不可能なら "NO" と出力してください。
サンプル
サンプル1
入力
1 2 3 4 5 6 7
出力
YES
例えば
1 3 2 5 4 7 6
と並べると増加門松列列になりますね。
サンプル2
入力
1 1 1 1 1 1 1
出力
NO
残念ですが、 増加門松列列にすることはできません。
サンプル3
入力
1 2 2 3 3 4 5
出力
YES
2 1 3 2 4 3 5
が増加門松列列になりますね。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。