自分のレーティングと他の参加者のレーティングが与えられる.参加者をそれぞれの部屋に割り当てるとき,高いレーティングを持つ参加者から各部屋へ順番に割り当てていく.このとき,自分が割り当てられた部屋で自分よりも高いレーティングを持つ参加者の数を求める.
単純にレーティングが高い順に部屋に割り当てる実装をした.
import java.util.Arrays; public class SRMRoomAssignmentPhase { public int countCompetitors(int[] ratings, int K) { int own = ratings[0]; Arrays.sort(ratings); int c = 0, a = 0; for(int i = ratings.length; i --> 0; ){ if(own == ratings[i]){ return c; } ++a; if(a % K == 0){ ++c; } } return 0; } }