不开long long见祖宗,或者把二分答案中计算答案的过程改一下:如果>m直接return
而且 return 0x3f3f3f3f 也会爆
int ans(int h) { int ret = 0; for(int i=1;i<=n;i++) { ret += max(height[i] - h, 0); if(ret > m) return ret; } return ret; }
实测#define int long long ,不加判ret>m也能过。