華為OD機(jī)試-- 統(tǒng)計(jì)射擊比賽成績(jī)

題目
給定一個(gè)射擊比賽成績(jī)單,包含多個(gè)選手若干次射擊的成績(jī)分?jǐn)?shù),請(qǐng)對(duì)每個(gè)選手按其最高3個(gè)分?jǐn)?shù)之和進(jìn)行降序排名,輸出降序排名后的選手ID序列。條件如下:
1、一個(gè)選手可以有多個(gè)射擊成績(jī)的分?jǐn)?shù),且次序不固定。
2、如果一個(gè)選手成績(jī)少于3個(gè),則認(rèn)為選手的所有成績(jī)無(wú)效,排名忽略該選手。
3、如果選手的成績(jī)之和相等,則成績(jī)之和相等的選手按照其ID降序排列。
輸入描述
輸入第一行,一個(gè)整數(shù)N,表示該場(chǎng)比賽總共進(jìn)行了N次射擊,產(chǎn)生N個(gè)成績(jī)分?jǐn)?shù)(2<=N<=100)。
輸入第二行,一個(gè)長(zhǎng)度為N整數(shù)序列,表示參與每次射擊的選手ID(0<=ID<=99)。
輸入第三行,一個(gè)長(zhǎng)度為N整數(shù)序列,表示參與每次射擊的選手對(duì)應(yīng)的成績(jī)(0<=成績(jī)<=100)。
輸出描述
符合題設(shè)條件的降序排名后的選手ID序列。
示例1? ?輸入輸出示例僅供調(diào)試,后臺(tái)判題數(shù)據(jù)一般不包含示例
輸入
13
3,3,7,4,4,4,4,7,7,3,5,5,5
53,80,68,24,39,76,66,16,100,55,53,80,55
輸出
5,3,7,4
說(shuō)明
該場(chǎng)射擊比賽進(jìn)行了13次,參賽的選手為{3,4,5,7}。
3號(hào)選手成績(jī):53,80,55,最高3個(gè)成績(jī)的和為:80+55+53=188。
4號(hào)選手成績(jī):24,39,76,66,最高3個(gè)成績(jī)的和為:76+66+39=181。
5號(hào)選手成績(jī):53,80,55,最高3個(gè)成績(jī)的和為:80+55+53=188。
7號(hào)選手成績(jī):68,16,100,最高3個(gè)成績(jī)的和為:100+68+16=184。
比較各個(gè)選手最高3個(gè)成績(jī)的和,有3號(hào)=5號(hào)>7號(hào)>4號(hào),由于3號(hào)和5號(hào)成績(jī)相等且ID號(hào)5>3,所以輸出為:5,3,7,4。
Java 實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/128042802
Python實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/128384829
C++ 實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/126993686
JavaScript實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/131972386
C實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/129190260