この問題ではプログラミングの基礎文法である if 文と for 文を組み合わせて解くことが出来ます。
実装のヒントは問題文に書いてあるので、それ通りに実装をしましょう。
「広義単調増大とは のすべての において を満たすことを言います」
以下のステップをたどることでこの問題を解くことが出来ます。 プログラミングでは 0-index であることに注意してください。(プログラムでは ではなく と数えるので、添え字がずれます。)
for 文を回して、 について配列 の要素を参照する。
No と出力し、プログラムを終了する。Yes を出力する。n = int(input())
A = list(map(int,input().split()))
for i in range(n-1):
if(A[i]>A[i+1]):
print("No")
exit()
print("Yes")以下のように、 について であるかを判定する方法でもこの問題を解くことが出来ます。
for文の開始位置と終了位置は異なりますが、お互いのコードはどちらも同じことをしています。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
vector<int> a(n);
for(int i = 0; i < n; i++) cin >> a[i];
string ans = "Yes";
for(int i = 1; i < n; i++){
if(a[i-1] > a[i]){
ans = "No";
}
}
cout << ans << endl;
}