刚才正在做一道题,然后 RE 了。
于是我自己造了组数据,调试发现 sort(id + 1, id + m + 1, cmp) RE 了。
于是我在 bool cmp(int x, int y) 中输出了 x 和 y,发现不断地输出 x = 0, y = 11。
但是我的 id 数组是按照如下方式初始化的:
for(int i = 1; i <= m; i++)
id[i] = i;
sort(id + 1, id + m + 1, cmp);
有没有人能够解答一下?
本人的编译选项:-O2 -Wl,--stack=1000000000。
完整代码