Problem AJ: STL 函数使用 —— is_sorted()

Problem AJ: STL 函数使用 —— is_sorted()

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

【介绍】

【头文件】

Standard Template Library: Algorithms
#include<algorithm>

【作用】

Check whether range is sorted
Returns 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)$。

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