ABC466 A - Compromise

妥協

考え方

入力は整数と数列が $1$ つずつ。
int 型の変数と vector を $1$ つずつ用意し、cin で入力を受け取る。

さて、問題の意味がパッと読むだけだと分かりづらいが、タイトルから考えると少し理解できる。
「どんな選択でも損するけど仕方がないな」と妥協しなければいけない状況か、という意図らしい。

これは、選択肢を $1$ つずつ見て、「これは損しますか?」と確認をしていくとよい。
全てが「損します」なら、答えは "Yes"。
$1$ つでも「損しません」があれば、答えは "No"。

すべての選択肢がある条件を満たすかどうかの判定は、以下の手順で行う。

全部見終わった後で、bool 型変数の中身が true だったら "Yes"、そうでなければ "No" を出力。
最初から string 型変数を使った場合にはそのまま出力すればよい。

入力例1での動作

入力を受け取る。

n: 4
x: {2, 0, -1, 2}

各選択肢について、値が $-1$ 以下かを確認する。

選択肢 値 $-1$ 以下か
$1$ $2$ ×
$2$ $0$ ×
$3$ $-1$ ○
$4$ $2$ ×

$0$ 以上の値が存在するため、全ての選択肢で損するわけではない。
したがって、答えは No となる。

注意点

特になし。

別解

ループ内で「今何番目であるか」を使わないので、範囲for文を使ってもよい。

いちいち .at(i) を書く手間が省けるし、for ループを何回回すべきか考える必要もなくなる。