给定 N 个整数,请从中任意选出 2 个不同位置的整数 X, Y,使得 X \times Y 的乘积最大。
请编程输出最大的乘积。
第 1 行输入一个整数 N。
第 2 行输入 N 个整数。
输出一个整数,代表最大的乘积。
2 20 -60
-1200
6 41 -71 29 48 64 -30
3072
20 -1 -82 24 7 -53 -54 -11 40 24 72 -7 11 74 4 89 20 -38 9 95 25
8455
要取 2 个不同位置上的数,因此只能取 20 \times -60=-1200。
取 48 \times 64 得到最大乘积为 3072。
| 测试点编号 | N | A_i |
|---|---|---|
| 1 \sim 5 | 2 \le N \le 1000 | -1000 \le A_i \le 1000 |
| 6 | 2 \le N \le 10^5 | 1 \le A_i \le 10^4 |
| 7 | 2 \le N \le 10^5 | -10^4 \le A_i \le -1 |
| 8 \sim 10 | 2 \le N \le 10^5 | -10^5 \le A_i \le 10^5 |
| 时间限制 | 1 秒 |
| 内存限制 | 512 MB |
| 提交次数 | 1081 |
| 通过人数 | 304 |
| 金币数量 | 0 枚 |
| 难度 | 基础 |