杭电ACM1280我哪里错了,怎么总超时呢,求高手赐教,我用qsort()函数怎么还超时呢!怎么改!

2024-12-15 00:50:25
推荐回答(2个)
回答1:

你的算法有问题, 不能先把所有n个数的两两相加的和都求出来在排序。
因为题目只需要找到前1000大的两两相加的和。并且任何一个数的都不大于5000呢,
两个数的和也就不大于10000,可以用一个简单的hash[10000], (hash[i] 保存两两相加的和为i的个数),最后从大到小扫描hash打印出m个数就行了。

回答2:

算法有问题,正确的算法如一楼说的那样。