最大子段和问题是指:给出一段序列,选出其中连续且非空的一段,使得这段的和最大。
对于一个子段和a[l]+a[l+1]+...+a[r],我们称a[l]为起点,a[r]为终点。
本题中,我们给定一个长度为N的数组和一个分界点M,请求出起点a[l]在a[1],a[2],...a[M]之中,终点a[r]在a[M+1],a[M+2],...,a[N]之中的最大子段和。
第一行是两个正整数N和M,N表示了序列的长度,M表示分界点。
第二行包含N个绝对值不大于10000的整数A[i]。
一个整数,为最大的子段和是多少。
5 3 7 -7 9 -5 -5
4
对于40%的数据,有2 <= N <= 2000,
对于100%的数据,有2 <= N <= 200000,
1 <= M,M下标从1开始计。
分治