D. 添加括号

    Type: RemoteJudge 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.

题目背景

给定一个正整数序列 a1,a2,,ana_1,a_2,\cdots,a_n

不改变序列中每个元素在序列中的位置,把它们相加,并用括号记每次加法所得的和,称为中间和。

例如:

给出序列是 4,1,2,34,1,2,3

第一种添括号方法:

((4+1)+(2+3))=((5)+(5))=(10)((4+1)+(2+3))=((5)+(5))=(10)

有三个中间和是 5,5,105,5,10 它们之和为: 5+5+10=205+5+10=20

第二种添括号方法

(4+((1+2)+3))=(4+((3)+3))=(4+(6))=(10)(4+((1+2)+3))=(4+((3)+3))=(4+(6))=(10)

中间和是 3,6,103,6,10,它们之和为 1919

题目描述

现在要添上 n1n-1 对括号,加法运算依括号顺序进行,得到 n1n-1 个中间和,求出使中间和之和最小的添括号方法。

输入格式

共两行。

第一行,为整数 nn

第二行,为 a1,a2,,ana_1,a_2,\cdots,a_nnn 个正整数,每个数字不超过 100100

输出格式

输出 3 行。

第一行,为添加括号的方法。

第二行,为最终的中间和之和。

第三行,为 n1n-1 个中间和,按照从左到右的顺序输出。对于相互包含的括号对应的中间和,按照从里到外的顺序输出。

4
4 1 2 3
(4+((1+2)+3))
19
3 6 10

提示

【样例解释 11

参见题目背景。

【数据范围】

对于全部的数据,1n201\le n\le 20

0118

Not Attended
Status
Done
Rule
IOI
Problem
4
Start at
2026-1-18 19:00
End at
2026-1-18 21:00
Duration
2 hour(s)
Host
Partic.
49