#HK5203. 「UOI 2025 Stage 4 Day1」分成三组
「UOI 2025 Stage 4 Day1」分成三组
题目描述
题目译自 Ukrainian Olympiads in Informatics 2025 Stage 4 Day1 T2. Розбиття на три
在一个圆环上放置了 个非负整数 。在圆环上相邻的数字依次为 与 、 与 、……、 与 ,以及 与 。
你需要将这些数字分成三个非空的组,使得每个数字恰好属于一个组,同一组的数字在圆环上必须是连续排列的,并且三个组的数字总和的最大值与最小值之间的差值尽可能小。
输入格式
输入的第一行包含一个整数 ,表示圆环上数字的数量。
第二行包含 个非负整数 ,表示圆环上依次排列的数字。
输出格式
输出第一行包含一个整数,表示在最优分组下,三个组的数字总和的最大值与最小值之间的差值。
输出第二行包含三个整数 ,表示最优分组的划分方式,即三个组分别为 、 和 $[a_{z}, a_{z+1}, \ldots, a_{n-1}, a_{n}, a_{1}, a_{2}, \ldots, a_{x-1}]$。
如果存在多个正确答案,可以输出任意一个。
4
1 2 3 4
1
1 3 4
7
1 6 1 0 5 3 2
0
2 3 6
8
3 1 4 1 5 9 2 6
1
3 6 8
在第三个样例中,最优分组如下:

在这种情况下,三个组的数字总和分别为 、 和 。
数据范围与提示
详细子任务附加限制及分值如下表所示:
| 子任务 | 分值 | 附加限制 |
|---|---|---|
| (对于 ) | ||
| 存在一种分组使得目标差值为 | ||
| 无附加限制 |