数组推导
难度:
时间限制:1s内存限制:256M
开始编程
【题目描述】
已知数组 𝑎a 和数组 𝑏b 是都是由 𝑛n 个非负整数组成的数组,数组 𝑏b 中每一个元素 𝑏𝑖bi 为数组 𝑎a 中前 𝑖i 个元素的最大值,如表达式所示:𝑏𝑖=𝑚𝑎𝑥{𝑎1,𝑎2,…,𝑎𝑖}bi=max{a1,a2,…,ai}
我们用 𝑠𝑢𝑚=𝑎1+𝑎2+…+𝑎𝑛sum=a1+a2+…+an 表示数组 𝑎a 的 𝑛n 个元素之和。
现在告诉你 𝑏b 数组,请你根据 𝑏b 数组反推 𝑎a 数组。𝑎a 数组可能并不唯一,请你根据 𝑎a 数组的所有可能情况给出 𝑠𝑢𝑚sum 的最小值和最大值分别是多少。
【输入格式】
第一行一个整数𝑛n;
第二行 𝑛n 个整数 𝑏1,𝑏2,…,𝑏𝑛b1,b2,…,bn。
【输出格式】
一行两个空格隔开的整数。
【输入输出样例#1】
输入#1
6 0 0 5 5 10 10
复制
输出#1
15 30
复制
【输入输出样例#2】
输入#2
7 1 2 3 4 5 6 7
复制
输出#2
28 28
复制
【输入输出样例#3】
输入#3
5 5 5 5 5 5
复制
输出#3
5 25
复制
【数据范围】
对于 100%100% 的数据:1≤𝑛≤1051≤n≤105,0≤𝑏1≤𝑏2≤…≤𝑏𝑛≤1090≤b1≤b2≤…≤bn≤109。