Problem8408--STL 函数使用 —— sort()

8408: STL 函数使用 —— sort()

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

Description

【介绍】

【头文件】

Standard Template Library: Algorithms
#include<algorithm>

【作用】

Sort elements in range
Sorts the elements in the range [first,last) into ascending order.
The elements are compared using operator< for the first version, and comp for the second.
Equivalent elements are not guaranteed to keep their original relative order (see stable_sort).
default (1)	
template <class RandomAccessIterator>
  void sort (RandomAccessIterator first, RandomAccessIterator last);
custom (2)	
template <class RandomAccessIterator, class Compare>
  void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
特别注意:该函数是不稳定排序。

【时间复杂度】

$O(nlogn)$。

【任务】

我们通过本题,掌握 sort() 函数使用方法。
给一个长度为 $n\ (1 \leq n \leq 5 \times 10^6)$ 的数列,请对数列进行排序。

Input

第一行包括一个整数 $n\ (1 \leq n \leq 5 \times 10^6),\ m\ (1 \leq n \leq 2)$。其中 $n$ 表示数列的长度,$m$ 表示排序方式,1 表示升序,2 表示降序。
第二行输入一个长度为 $n$ 的整数 $a_i\ (−10^9≤a_i≤10^9)$。

Output

输出只有一行,包括 $n$ 个整数,表示答案。

Sample 1 Input

5 2
1 2 3 4 5

Sample 1 Output

5 4 3 2 1

Sample 2 Input

6 1
10 9 3 2 -1 -10

Sample 2 Output

-10 -1 2 3 9 10

Source/Category