Type: Default File IO: cake 1000ms 512MiB

蛋糕

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

请参见 down.zip 中的题面。

题目描述

小 Y 的朋友小 F 准备了 nn 个蛋糕,她把这些蛋糕从小到大排成一排,第 ii 个蛋糕的大小为 aia_i。

为了帮助小 F 控制身材,小 Y 可以吃掉其中的任意个蛋糕,可以不吃,但不能全部吃掉。

假设最后剩下 mm 个蛋糕,按照从左到右的顺序,它们的大小依次为 b1≤b2≤⋯≤bmb_1\le b_2\le \cdots\le b_m。

小 F 会在剩下的蛋糕中进行两次选择,两次选择之间互不影响。

她第一次会选择剩余蛋糕中从左往右第 ⌈m2⌉\lceil \frac m2\rceil 个蛋糕,即大小为 b⌈m/2⌉b_{\lceil m/2\rceil} 的蛋糕。

第二次选择时,对于 1≤i≤m1\le i\le m,令 cic_i 表示剩余蛋糕中大小与 bib_i 相同的蛋糕数量,然后选择 cic_i 最大的一个蛋糕,如果有多个 cic_i 最大的蛋糕,则选择最左边的,即大小最小的一个。

现在小 Y 希望小 F 两次选择的蛋糕的大小之差的绝对值尽可能大。

注意,小 F 两次选择可能选中同一个蛋糕,此时大小之差为 00。

你需要帮小 Y 求出,在她所有合法的吃蛋糕方式中,小 F 两次选中的蛋糕大小之差的绝对值最大是多少。

输入格式

从文件 cake.in 中读入数据。

第一行一个整数 nn,表示蛋糕的数量。

第二行 nn 个整数,第 ii(1≤i≤n1\le i\le n)个为 aia_i,表示从左到右第 ii 个蛋糕的大小,保证对于所有 1≤i≤n−11\le i\le n-1 均有 ai≤ai+1a_i\le a_{i+1}。

输出格式

输出到文件 cake.out 中。

输出一行一个整数,表示小 F 选择的两个蛋糕大小之差的绝对值的最大值。

样例 1 输入

4
1 5 6 8

样例 1 输出

5

样例 1 解释

吃掉大小为 55 的蛋糕,小 F 会选择大小为 66 和 11 的两个蛋糕。

样例 2

见选手目录下的 cake/cake2.in 与 cake/cake2.ans。

该样例满足子任务 11 的约束条件。

样例 3

见选手目录下的 cake/cake3.in 与 cake/cake3.ans。

该样例满足子任务 22 的约束条件。

样例 4

见选手目录下的 cake/cake4.in 与 cake/cake4.ans。

该样例满足子任务 33 的约束条件。

样例 5

见选手目录下的 cake/cake5.in 与 cake/cake5.ans。

该样例满足子任务 44 的约束条件。

样例 6

见选手目录下的 cake/cake6.in 与 cake/cake6.ans。

该样例满足子任务 55 的约束条件。

数据范围

对于所有测试数据,保证 1≤n≤1051\le n\le 10^5,1≤ai≤1091\le a_i\le 10^9,对于所有 1≤i≤n−11\le i\le n-1 均有 ai≤ai+1a_i\le a_{i+1}。

子任务编号 nn 特殊性质 分值
11 n≤20n\le 20 无特殊性质 2020
22 n≤200n\le 200
33 n≤105n\le 10^5 特殊性质 A
44 ^ 特殊性质 B
55 无特殊性质

特殊性质 A:a1,a2,…,ana_1,a_2,\dots,a_n 中至多有三种不同的值。

特殊性质 B:a1,a2,…,ana_1,a_2,\dots,a_n 两两不同。

本题开启所有合理的子任务依赖。

NOIp 2026 模拟赛 6

Not Attended
Status
Done
Rule
OI
Problem
4
Start at
2026-9-5 8:00
End at
2026-9-5 12:30
Duration
4.5 hour(s)
Host
Partic.
27