杭電ACM HDU1280 前m大的數

2021-07-15 20:44:40 字數 994 閱讀 5578

題目:

problem description

還記得gardon給小希布置的那個作業麼?(上次比賽的1005)其實小希已經找回了原來的那張數表,現在她想確認一下她的答案是否正確,但是整個的答案是很龐大的表,小希只想讓你把答案中最大的m個數告訴她就可以了。 

給定乙個包含n(n<=3000)個正整數的序列,每個數不超過5000,對它們兩兩相加得到的n*(n-1)/2個和,求出其中前m大的數(m<=1000)並按從大到小的順序排列。

input

輸入可能包含多組資料,其中每組資料報括兩行: 

第一行兩個數n和m, 

第二行n個數,表示該序列。

output

對於輸入的每組資料,輸出m個數,表示結果。輸出應當按照從大到小的順序排列。

sample input

4 4

1 2 3 4

4 55 3 6 4

sample output

7 6 5 5

11 10 9 9 8

這個題目最好用容器來解答,我用了乙個容器vector

,因為用陣列可能會出現

runtime error

(access_violation)中陣列

越界錯誤 ,

而用容器則

可以避免這

個問題,但是必須記得清空容器,還有就是審題要仔細,括號內的資料也是蠻重要的,比如題目中的n<=3000,在

定義陣列時,陣列範圍必

須大於這個範圍。

**如下:

#include#include#includeusing namespace std;

int main()

flag=false;

for(i=0;i=0;i--)

{if(m>0)

{if(!flag) flag=true;

else cout<<" ";

cout<

前m大的數 HDU杭電1280 水

problem description 還記得gardon給小希布置的那個作業麼?上次比賽的1005 其實小希已經找回了原來的那張數表,現在她想確認一下她的答案是否正確,但是整個的答案是很龐大的表,小希只想讓你把答案中最大的m個數告訴她就可以了。給定乙個包含n n 3000 個正整數的序列,每個數不...

杭電1208 前m大數

description 還記得gardon給小希布置的那個作業麼?上次比賽的1005 其實小希已經找回了原來的那張數表,現在她想確認一下她的答案是否正確,但是整個的答案是很龐大的表,小希只想讓你把答案中最大的m個數告訴她就可以了。給定乙個包含n n 3000 個正整數的序列,每個數不超過5000,對...

hdoj 1280 前m大的數!

思路 這題和矩陣轉置有一點聯絡,它們兩兩相加得到的 n n 1 2 個和,其實就是矩陣的上三角或下三角,這一點解決了,再來個qsort就搞定啦!還有注意陣列的大小!我在這栽跟頭了 inta 3005 c 5000000 注意陣列的大小!intmain qsort c,k,sizeof int com...