这篇题解存在错误。对于数据:
2 2 5
答案应为:
3
代码输出:
2
这是因为,题目要求的是两个不相交的非空区间,然而这篇题解将空区间也计算进去了。
然后扶苏的题解也倒在了这个数据上。因为代码中写到:
for (int r = n - 2; r > 0; --r)
此处 r > 0 应该为 r >= 0,否则当第一个区间仅为首位元素时不会被计算到。
r > 0
r >= 0
然后这篇题解也错了,因为他把长度为负数的区间也加进了 multiset。
multiset
顺带提一嘴,数据实在太水了