无疑,dp是正解。
不过本蒟蒻似乎想到了分治的算法......?
可以把这个数组分为Alow...midA_{low...mid}Alow...mid与Amid+1...highA_{mid+1...high}Amid+1...high,然后对着两部分进行递归。
有一种特殊情况是这个最大子数组跨越了中点midmidmid,不过这个问题不难解决。
时间复杂度似乎是(我太蒻了不敢确定)Θ(nlgn)\Theta(n \lg n)Θ(nlgn)的。