intintint 和 longlonglong longlonglong 都是存不下 40 位数的,因此在计算每一段的 numnumnum 值时会溢出成负数,这时在 dpdpdp 的过程中减了一个非常大的负数就相当于加了一个非常大的正数,会数组越界。 怎么处理?在 dpdpdp 的时候判断一下是否超出数组上下界就好了。