牛客算法-選手最高平均水平
問題描述:
牛牛舉辦了次編程比賽, 參加比賽的有3*n個選手,每個選手 都有一個水平值a_i.現在要將這些選手進行組隊,一共組成n個隊伍,即每個隊伍3人牛牛發現隊伍的水平值等於該隊伍隊員中第二高水平值。
輸入描述:
輸入的第一行爲一個正整數n(1≤n≤10^5)
第二行包括3*n個整數a_i(1≤a_i≤10^9),表示每個參賽邊手的水於值
思路:既然隊裏排名第二的選手實力爲全隊的平均水平,那麼通過排序後,將數組分成三份,將第二份的選手水平進行相加即可
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int number,maxAverage=0;
cout<<"請輸入一個正整數:";
cin>>number;
if(number<=0){
printf("%d",0);exit(0);
}
int arr[3*number];
for(int index=0;index<3*number;index++){
cin>>arr[index];
}
sort(arr,arr+3*number);
for(int index=2*number-1;index>number-1;index--){
maxAverage+=arr[index];
}
printf("%d",maxAverage);
}