競技プログラミング用 知識集積所
ABC395A - Strictly Increasing?
最終更新:
sport_programming
-
view
問題
必要知識
考え方
まずは入力内容を確認。
入力内容はvector(未作成)のサイズと中身。
まずは、int型整数を用意し、サイズの整数を用意する。
その後、指定サイズのvector(未作成)を用意し、forループを使って中身を受け取る。
入力内容はvector(未作成)のサイズと中身。
まずは、int型整数を用意し、サイズの整数を用意する。
その後、指定サイズのvector(未作成)を用意し、forループを使って中身を受け取る。
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)としないように注意。
「未満」の反対は「以上」である。