注意题目中一句话:如果连 1cm1cm1cm长的小段都切不出来,输出 0。
0
洛谷的#4测试点如下:
16 100000000 179 168 927 4670 5891 7287 10854 20976 48625 17908 111989 1097897 9999998 87 1 7
显然是切不出来的,咱们直接二分会导致浮点错误,也就是说你mid = 0了,然后累加段数时,ans += arr[i] / mid;就会爆掉,加个mid = 0时的特判即可。
mid = 0
ans += arr[i] / mid;