문제 풀이 및 개발 공간

[백준] 2535번 아시아 정보올림피아드 (silver 5 본문

백준공부/java

[백준] 2535번 아시아 정보올림피아드 (silver 5

gomduri43 2024. 3. 13. 19:45

import java.io.*;
import java.util.*;
class Point{
    int t;
    int num;
    int s;
    public Point(int t, int num, int s){
        this.t=t;
        this.num=num;
        this.s=s;
    }
}
public class Main{

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st;
        int n=Integer.valueOf(br.readLine());

        ArrayList<Point> arr=new ArrayList<>();
        for(int i=0; i<n; i++){
            st=new StringTokenizer(br.readLine());
            int t=Integer.valueOf(st.nextToken());
            int num=Integer.valueOf(st.nextToken());
            int s=Integer.valueOf(st.nextToken());

            arr.add(new Point(t,num,s));
        }

        Collections.sort(arr,new Comparator<Point>(){
            public int compare(Point o1,Point o2){
                return -(o1.s-o2.s);
            }
        });

        int medal=0;
        int[] country=new int[n+1];
        for(int i=0; i<arr.size(); i++){
            if(country[arr.get(i).t]>=2){
                continue;
            }
            medal++;
            country[arr.get(i).t]++;
            bw.write(arr.get(i).t+" "+arr.get(i).num+"\n");
            if(medal==3){
                break;
            }
        }
        bw.flush();

    }
}