logo AlgoBeat OnlineJudge
登录 注册

#216043. [CSPro 23] 数组推导

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

洛谷的测试数据仅供民间交流使用,非官方测试数据。官方评测链接:https://www.cspro.org/


是一个由 个自然数(即非负整数)组成的数组。在此基础上,我们用数组 表示 的前缀最大值。

如上所示, 定义为数组 中前 个数的最大值。根据该定义易知 ,且随着 的增大, 单调不降。此外,我们用 表示数组 个数的总和。

现已知数组 ,我们想要根据 的值来反推数组 。显然,对于给定的 的取值可能并不唯一。试计算,在数组 所有可能的取值情况中, 的最大值和最小值分别是多少?

输入格式

从标准输入读入数据。

输入的第一行包含一个正整数

输入的第二行包含 个用空格分隔的自然数

输出格式

输出到标准输出。

输出共两行。

第一行输出一个整数,表示 的最大值。

第二行输出一个整数,表示 的最小值。

样例

样例输入 1

6
0 0 5 5 10 10

样例输出 1

30
15

样例输入 2

7
10 20 30 40 50 60 75

样例输出 2

285
285

数据范围与提示

样例 1 解释

数组 的可能取值包括但不限于以下三种情况。

情况一:

情况二:

情况三:

其中第一种情况 为最大值,第三种情况 为最小值。

样例 2 解释

是唯一可能的取值,所以 的最大、最小值均为

子任务

的测试数据满足数组 单调递增,即

全部的测试数据满足 且数组 单调不降,即