最大的差
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}给定 n 个整数 a_1,a_2,\dots,a_n2 \leqq n \leqq 10^5),请从中选出两个数字,使它们的差值尽可能大,并输出该最大差。

输入描述:

\hspace{15pt}第一行输入一个整数 n2 \leqq n \leqq 10^5)。

\hspace{15pt}第二行输入 n 个整数 a_1,a_2,\dots,a_n,每个整数满足 -10^5 \leqq a_i \leqq 10^5,用空格隔开。

输出描述:

\hspace{15pt}输出一个整数 S,表示所能获得的最大差值。
示例1

输入

复制
3
1 2 1

输出

复制
1

说明

在样例 1 中,最大值为 2,最小值为 1,因此最大差为 2-1=1
示例2

输入

复制
5
5 3 8 1 4

输出

复制
7

说明

在样例 2 中,最大值为 8,最小值为 1,因此最大差为 8-1=7

备注:

\hspace{15pt}若用这些数的最大值和最小值分别表示为 \max\nolimits_{1\leqq i\leqq n}a_i 和 \min\nolimits_{1\leqq i\leqq n}a_i,则最大差可表示为:

\hspace{15pt}\hspace{15pt}\hspace{15pt}\displaystyle S = \max_{1\leqq i\leqq n}a_i - \min_{1\leqq i\leqq n}a_i