還記得gardon給小希布置的那個作業麼?(上次比賽的1005)其實小希已經找回了原來的那張數表,現在她想確認一下她的答案是否正確,但是整個的答案是很龐大的表,小希只想讓你把答案中最大的m個數告訴她就可以了。
給定乙個包含n(n<=3000)個正整數的序列,每個數不超過5000,對它們兩兩相加得到的n*(n-1)/2個和,求出其中前m大的數(m<=1000)並按從大到小的順序排列。
input
輸入可能包含多組資料,其中每組資料報括兩行:
第一行兩個數n和m,
第二行n個數,表示該序列。
output
對於輸入的每組資料,輸出m個數,表示結果。輸出應當按照從大到小的順序排列。
sample input
4 4sample output1 2 3 4
4 55 3 6 4
7 6 5 5先把所有的數字相加,通過下標避免了sort排序;11 10 9 9 8
#include#include#includeusing namespace std;
const int _inf = -1e9-1;
int vec[10005];
int num[3005];
int main()
vec[num[i]+num[j]]++;}};
if(m<=0)
printf("%d",maxn);
vec[maxn]--;
m--;
for(int i=maxn;i>=0;i--)
if(vec[i]>0)}}
cout<}
return 0;
}
前m大的數
total submission s 13762 accepted submission s 4693 problem description 還記得gardon給小希布置的那個作業麼?上次比賽的1005 其實小希已經找回了原來的那張數表,現在她想確認一下她的答案是否正確,但是整個的答案是很龐大的表...
前m大的數
a 前m大的數 sort time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status description 還記得gardon給小希布置的那個作業麼?上次比賽的1005 其實小希已經找回了原來的那張數表,...
前m大的數
hpu2017 sort 結構體練習 virtual judge 還記得gardon給小希布置的那個作業麼?上次比賽的1005 其實小希已經找回了原來的那張數表,現在她想確認一下她的答案是否正確,但是整個的答案是很龐大的表,小希只想讓你把答案中最大的m個數告訴她就可以了。給定乙個包含n n 3000...