#HK5118. 「JOISC 2013 Day3」蛋糕切分
「JOISC 2013 Day3」蛋糕切分
题目描述
题目译自 JOISC 2013 Day3 T1 「ケーキの切り分け」
JOI 君和 IOI 酱是双胞胎兄妹。JOI 君最近迷上了甜点制作,今天他又烤了一块蛋糕准备享用,可刚烤好,闻到香味的 IOI 酱就跑来了,于是两人决定一起分享这块蛋糕。
蛋糕是圆形的,从某个点开始沿放射状切开,将蛋糕分成 块扇形小片,并按逆时针顺序从 到 编号。也就是说,对于 ,第 块小片与第 块和第 块相邻(其中第 块视为第 块,第 块视为第 块)。第 块小片的大小为 ,由于切分技术非常拙劣,每块 的值都不相同。

这 块蛋糕将由 JOI 君和 IOI 酱分着吃,分法如下:
- 首先,JOI 君从 块中选择一块取走。
- 随后,从 IOI 酱开始,两人轮流从剩余的小片中各取一块。但由于两人都不擅长取蛋糕(为了不弄塌蛋糕),只能选择两侧相邻小片中至少有一块已被取走的小片。如果有多块符合条件的小片,则选择其中最大的一块取走。
JOI 君想知道,对于每一块小片,如果他最先取走这块,最终他能拿到的所有小片大小之和是多少。
给定蛋糕小片数量 以及 块小片的大小信息,你需要编写一个程序,计算对于每一块小片,若 JOI 君最先取走该片,最终他能拿到的所有小片大小之和。
输入格式
从标准输入中读取以下数据:
- 第一行包含一个整数 ,表示蛋糕被切分成 块小片。
- 接下来 行中,第 行包含一个整数 ,表示第 块小片的大小为 。
输出格式
在标准输出中输出 行,第 行输出一个整数,表示若最先取走第 块小片,JOI 君最终拿到的所有小片大小之和。
5
2
8
1
10
9
13
18
12
13
12
此样例对应问题描述中的图示。
例如,若最先取走第 块小片:
- 剩余小片中,符合“两侧相邻小片至少有一块已被取走”条件的是第 块和第 块,第 块较大,因此接下来取走第 块。
- 同样,接下来比较第 块和第 块,第 块较大,取走第 块。
- 接下来比较第 块和第 块,第 块较大,取走第 块。
- 最后只剩第 块,取走第 块。
取走顺序为:
JOI 君取走第 块、第 块和第 块,总大小为 ,因此第一行输出 。对于其他小片作为首选的情况,也按此方式计算。
数据范围与提示
对于所有输入数据,满足:
详细子任务附加限制及分值如下表所示。
| 子任务 | 分值 | 附加限制 |
|---|---|---|
| 无附加限制 |