Problem AJ: STL 函数使用 —— is_sorted()
[Creator : ]
Description
【介绍】
【头文件】
Standard Template Library: Algorithms#include<algorithm>
【作用】
Check whether range is sortedReturns true if the range [first,last) is sorted into ascending order.
The elements are compared using operator< for the first version, and comp for the second.
default (1) template <class ForwardIterator> bool is_sorted (ForwardIterator first, ForwardIterator last); custom (2) template <class ForwardIterator, class Compare> bool is_sorted (ForwardIterator first, ForwardIterator last, Compare comp);
【任务】
我们通过本题,掌握 is_sorted() 函数使用方法。给一个长度为 $n\ (1≤n≤5×10^6)$ 的数列,判断该数列是否排序。
Input
第一行包括一个整数 $n\ (1≤n≤5×10^6),\ m\ (1≤m≤2)$。其中 $n$ 表示数列的长度,$m$ 表示排序方式,1 表示升序,2 表示降序。
第二行输入一个长度为 $n$ 的整数 $a_i\ (−10^9≤a_i≤10^9)$。
第二行输入一个长度为 $n$ 的整数 $a_i\ (−10^9≤a_i≤10^9)$。
Output
如果序列已经排序,输出 Yes。否者输出 No。
Sample 1 Input
5 1
1 2 3 4 5
Sample 1 Output
Yes
Sample 2 Input
5 2
5 4 3 2 1
Sample 2 Output
Yes
Sample 3 Input
6 1
10 9 3 2 -1 -10
Sample 3 Output
No
6 2
10 9 3 2 -1 -10
Yes