使用循环移位压缩序列

TypeScript Medium loops

任务 «使用循环移位压缩序列»

给定一个整数序列。需要找到通过循环移位原始序列并随后将连续相同的数字压缩为“数字 数量”格式后,所得到的压缩字符串的最小长度。例如,序列 [1,1,2,2,2] 压缩后变为 '1 2 2 3'。循环移位意味着我们可以将前几个元素移到末尾。需要遍历所有可能的移位(从 0 到 n-1),执行压缩,并找到所得字符串的最小长度(以字符为单位,包括空格)。如果长度相等,则选择编号最小的移位。限制条件:n ≤ 100,数字范围从 0 到 100。

输入格式

第一行包含一个整数 n (1 ≤ n ≤ 100) — 数字的数量。第二行包含 n 个以空格分隔的整数。

输出格式

输出两个数字:偏移量(从0开始)和压缩后的最小字符串长度,用空格分隔。

示例

示例 1

输入
3 1 2 3
输出
0 11

示例 2

输入
4 1 1 1 1
输出
0 3

示例 3

输入
6 3 1 -2 3 4 -5 6
输出
0 25
main.ts