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