题目描述
牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。
输入描述:
输入的第一行为一个正整数n(1 ≤ n ≤ 10^5)
第二行包括3*n个整数a_i(1 ≤ a_i ≤ 10^9),表示每个参赛选手的水平值.
输出描述:
输出一个整数表示所有队伍的水平值总和最大值.
代码如下
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
List<Integer> list = new ArrayList<>();
List<Integer> ret = new ArrayList<>();
int n = scan.nextInt();
int count = 0;
while(scan.hasNextInt()){
list.add(scan.nextInt());
}
int size = list.size();
for(int i = 1;i < size;i++){
if(list.get(i-1) == list.get(i)){
list.remove(i);
size--;
}
}
int i = 1;
int flg = 0;//0代表递增,-1代表递减
while(i < size){
if(list.get(i)>list.get(i-1)){
ret.add(0);
}else{
ret.add(-1);
}
i++;
}
for(i = 1;i < ret.size();i++){
if(ret.get(i) != ret.get(i-1)){
count++;
i++;
}
}
System.out.println(count+1);
}
}