Submission #712737

#TimeUsernameProblemLanguageResultExecution timeMemory
712737Gerardo_vegaPoi (IOI09_poi)Java
0 / 100
143 ms12260 KiB
/* * 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]; } } 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)); } } } }
#Verdict Execution timeMemoryGrader output
Fetching results...