#P12545. [UOI 2025] Partitioning into Three

[UOI 2025] Partitioning into Three

Description

nn非负整数 a1,a2,,ana_1, a_2, \ldots, a_n 排成一个环形。环形顺序中相邻的数字为 a1a_1a2a_2a2a_2a3a_3\ldotsan1a_{n-1}ana_nana_na1a_1

将这些数字分成三个非空的组,使得每个数字恰好属于一个组,每组中的数字在环形排列中是连续的,并且各组数字之和的最大值与最小值之差最小。

Input Format

第一行包含一个整数 nn (3n106)(3 \le n \le 10^6) —— 排列的数字个数。

第二行包含 nn 个非负整数 a1,a2,,ana_1, a_2, \ldots, a_n (0ai109)(0 \le a_i \le 10^9) —— 环形排列的数字。

Output Format

第一行输出一个整数 —— 最优划分下各组数字之和的最大值与最小值之差。

第二行输出三个整数 xx, yy, zz (1x<y<zn)(1 \le x < y < z \le n) —— 表示最优划分的三个组的边界索引,其中:

  • 第一组为 [ax,ax+1,,ay1][a_{x}, a_{x+1}, \ldots, a_{y-1}]
  • 第二组为 [ay,ay+1,,az1][a_{y}, a_{y+1}, \ldots, a_{z-1}]
  • 第三组为 $[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

Hint

在第三个样例中,最优划分如下:

此时,各组的数字之和分别为 101011111010

评分标准

  • 22 分):n=3n = 3
  • 44 分):对于所有 1in1 \le i \le nai1a_i \le 1
  • 1313 分):存在一种划分使得所求差值为 00
  • 88 分):n100n \le 100
  • 99 分):n2000n \le 2000
  • 1313 分):n5000n \le 5000
  • 2828 分):n105n \le 10^5
  • 2323 分):无额外限制。

翻译由 DeepSeek V3 完成