首先我不明白你为什么会有数据
如果你指的是poj给出的样例数据的话,这又不代表是最终过的测试数据
你的程序的错误之处就是在标记num[a[i]]的时候,多判断了a[i]<=500000也就是说,茬运算的时候a[i]可能大于500000,而且你仍需要标记
最简单的改法是你把程序里的两个a[i]<=500000的条件都删掉,然后把num数组开到左右
这样就能AC了,但昰还有一个细节最好也注意一下:最好把循环终值处定位500000然后a数组多开至少一位。因为现在你的程序没有计算a[500000]值(虽然poj的数据里没有这個值)
你对这个回答的评价是
首先我不明白你为什么会有数据
如果你指的是poj给出的样例数据的话,这又不代表是最终过的测试数据
你的程序的错误之处就是在标记num[a[i]]的时候,多判断了a[i]<=500000也就是说,茬运算的时候a[i]可能大于500000,而且你仍需要标记
最简单的改法是你把程序里的两个a[i]<=500000的条件都删掉,然后把num数组开到左右
这样就能AC了,但昰还有一个细节最好也注意一下:最好把循环终值处定位500000然后a数组多开至少一位。因为现在你的程序没有计算a[500000]值(虽然poj的数据里没有这個值)