Submission #712735

# Submission time Handle Problem Language Result Execution time Memory
712735 2023-03-19T16:19:04 Z Gerardo_vega Poi (IOI09_poi) Java 11
Compilation error
0 ms 0 KB
/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Main.java to edit this template
 */


import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;


/**
 *
 * @author Gerardo S
 */
class participant {
    int Id;
    int Points;
    int Resolved;
    int[] ProblemsResolved;
    public participant(int id, int points, int resolved, int nProblems){
        Id=id;
        Points=points;
        Resolved=resolved;
        ProblemsResolved=new int[nProblems];
    }
}
public class POI {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        int nproblems=in.nextInt();
        int philipId=in.nextInt();
        
        participant[] p=new participant[n];
        int[] problemsRecount=new int[nproblems];
        for (int i = 0; i < n; i++) {
            p[i]=new participant(i+1,0,0,nproblems);
            for (int j = 0; j < nproblems; j++) {
                int isResolved=in.nextInt();
                if(isResolved==1){
                    problemsRecount[j]++;
                    p[i].ProblemsResolved[j]=1;
                }
                p[i].Resolved++;
            }
        }
        
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < nproblems; j++) {
                if(p[i].ProblemsResolved[j]==1){
                    p[i].Points+=n-problemsRecount[j];
                }
            }
        }
        
        
        Comparator<participant> comparadorPorEdad = new Comparator<participant>() {
            @Override
            public int compare(participant persona1, participant persona2) {
                if (persona1.Points>=persona2.Points) {
                    if(persona1.Points>persona2.Points){
                        return -1;
                    }else{
                        //en este punto, sabemos que tienen los mismos puntos.
                        if(persona1.Resolved>persona2.Resolved){
                            return -1;
                        }else{
                            if(persona1.Resolved==persona2.Resolved){
                                if(persona1.Id<persona2.Id){
                                    return -1;
                                }else{
                                    return 1;
                                }
                            }else{
                                if(persona1.Resolved<persona2.Resolved){
                                    return 1;
                                }else{
                                    return -1;
                                }
                            }
                        }
                    }
                }
                return 1;
            }
        };    
         Arrays.sort(p, comparadorPorEdad);
         
         for (int i = 0; i < p.length; i++) {
             if(p[i].Id==philipId){
                 System.out.println(p[i].Points+" "+(i+1));
             }
            
        }
    } 
}

Compilation message

poi.java:28: error: class POI is public, should be declared in a file named POI.java
public class POI {
       ^
1 error