A11103. Four Segments
编程题
普及/提高-
知识点
题目描述
You are given an array of $n$ integer numbers. Let $sum(l,r)$ be the sum of all numbers on positions from $l$ to $r$ non-inclusive ( $l$ -th element is counted, $r$ -th element is not counted). For indices $l$ and $r$ holds $0<=l<=r<=n$ . Indices in array are numbered from $0$ .
For example, if $a=[-5,3,9,4]$ , then $sum(0,1)=-5$ , $sum(0,2)=-2$ , $sum(1,4)=16$ and $sum(i,i)=0$ for each $i$ from $0$ to $4$ .
Choose the indices of three delimiters $delim_{0}$ , $delim_{1}$ , $delim_{2}$ ( $0<=delim_{0}<=delim_{1}<=delim_{2}<=n$ ) and divide the array in such a way that the value of $res=sum(0,delim_{0})$ - $sum(delim_{0},delim_{1})$ + $sum(delim_{1},delim_{2})$ - $sum(delim_{2},n)$ is maximal.
Note that some of the expressions $sum(l,r)$ can correspond to empty segments (if $l=r$ for some segment).
For example, if $a=[-5,3,9,4]$ , then $sum(0,1)=-5$ , $sum(0,2)=-2$ , $sum(1,4)=16$ and $sum(i,i)=0$ for each $i$ from $0$ to $4$ .
Choose the indices of three delimiters $delim_{0}$ , $delim_{1}$ , $delim_{2}$ ( $0<=delim_{0}<=delim_{1}<=delim_{2}<=n$ ) and divide the array in such a way that the value of $res=sum(0,delim_{0})$ - $sum(delim_{0},delim_{1})$ + $sum(delim_{1},delim_{2})$ - $sum(delim_{2},n)$ is maximal.
Note that some of the expressions $sum(l,r)$ can correspond to empty segments (if $l=r$ for some segment).
输入格式
The first line contains one integer number $n$ ( $1<=n<=5000$ ).
The second line contains $n$ numbers $a_{0},a_{1},...,a_{n-1}$ ( $-10^{9}<=a_{i}<=10^{9}$ ).
The second line contains $n$ numbers $a_{0},a_{1},...,a_{n-1}$ ( $-10^{9}<=a_{i}<=10^{9}$ ).
输出格式
Choose three indices so that the value of $res$ is maximal. If there are multiple answers, print any of them.
输入输出样例
输入 #1
3 -1 2 3
输出 #1
0 1 3
输入 #2
4 0 0 -1 0
输出 #2
0 0 0
输入 #3
1 10000
输出 #3
1 1 1