競技プログラミング用 知識集積所
ABC395A - Strictly Increasing?
最終更新:
sport_programming
-
view
問題
必要知識
考え方
forループはn-1回なので、まず
for (int i=0; i<n-1; i++) { コード }
と用意する。
そして、条件判定のif分岐は、増加するという意味では
if (a.at(i)<a.at(i+1)) { コード }
のように判定したい。(あとで書き換えることになる)
最後に条件を満たさない部分が1つでもあったらYesという部分。
これは、最初にbool型のtrueやそれに類するものを用意しておき、条件を満たさないものが1つでもあったらfalseにすることでうまく処理できる。
ということは、if分岐の中を反対にしておき、増加じゃなかったらfalseに、でよし。
これは、最初にbool型のtrueやそれに類するものを用意しておき、条件を満たさないものが1つでもあったらfalseにすることでうまく処理できる。
ということは、if分岐の中を反対にしておき、増加じゃなかったらfalseに、でよし。
最後に忘れずにcoutしておしまい。
解答例
注意点
ダメな条件に注意する。
全ての場所でa.at(i)<a.at(i+1)であるか確認するので、これを反対をif分岐の条件に書くことにある。
このとき、うっかりa.at(i)>a.at(i+1)としないように注意。
「未満」の反対は「以上」である。
このとき、うっかりa.at(i)>a.at(i+1)としないように注意。
「未満」の反対は「以上」である。