纸带折叠
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
纸带折叠
题目描述
一条纸带可以看作一条数轴。纸带上有 个标记点,第 个标记点的坐标为 ,所有坐标均互不相同的整数。
你可以选择一个实数 ,沿坐标为 、垂直于纸带的直线将纸带的一侧翻到另一侧。折叠后,原来位于折线两侧的两个标记点可能重合。
若两个不同的标记点折叠后位于同一位置,则称它们形成一对重合点。每个标记点至多属于一对重合点。
请你求出:
- 一次对折最多能形成多少对重合点;
- 有多少条不同的折线能够达到这个最大值。
两条折线的位置 不同,就视为不同的折线。折线可以经过标记点,也可以位于两个整数坐标之间。
输入格式
从文件 fold.in 中读入数据。
第一行一个整数 。 第二行 个互不相同的整数 ,表示所有标记点的坐标。
输出格式
输出到文件 fold.out 中。
输出两个整数 \(M,K\):
- 表示最多能形成的重合点对数;
- 表示能够形成恰好 对重合点的不同折线条数。
样例输入
5
0 1 2 3 4
样例输出
2 3
样例解释
当 分别为 \(3,4,5\) 时,都能形成 对重合点,因此最优折线共有 条。
数据规模与约定
对于所有数据:
- ;
- ;
- 所有 互不相同。
本题采用子任务测试。只有通过一个子任务中的所有测试点,才能获得该子任务的全部分数。
| 子任务 | 测试点 | 限制 | 分值 | 特性 |
|---|---|---|---|---|
| 1 | 10 | |||
| 2 | ||||
| 3 | 排序后是等差数列 | |||
| 4 | 全是偶数 | |||
| 5 | 全是奇数 | |||
| 6 | 排序后是等差数列 | |||
| 7 | 全是偶数 | |||
| 8 | 全是奇数 | |||
| 9 | 20 |