ブルーブリッジカップ--アルゴリズムのサイズ向上(java)


リソース制限時間制限:1.0 sメモリ制限:256.0 MB問題は、入力n文字列を記述し、これらの文字列のサイズを比較して統計し、辞書順に文字列を出力し、個数入力フォーマットが入力された最初の行には、文字列の個数を表す整数nが含まれている.次のn行は、入力された文字列を表します.出力フォーマットはn行を出力し、各行に1つの文字列と1つの整数を含み、文字列と出現個数を表す.サンプル入力5 aab bbc aab sdffg sgjklsaサンプル出力aab 2 bbc 1 sdffg 1 sgjklsa 1データ規模と約束30%l=130%l=10 20%l<=100%n<=1000,l<=1000———————————————————————————————————————————————————————————————————————————————————————————
コードは問題ないと思いますが、提出が不合格で、評価点を見てみました.
評価ポイントシーケンス
入力
しゅつりょく
1
空白
295443
4
空白
0
他の評価点の入出力も整数であり、例えば評価点5の入力:42 18468 6335 19170 26501 15725 114792929329359 26963 5706 24465 28146 168223282 9962 492 2996 1194344828 5437 32392 3903 14605 154293 12383 174218717 719 19896出力:65741
これらの評価点と問題は全く合っていませんね.よく見えませんでした...通りすがりのおじいさんがわかったら教えてください.ありがとうございます.
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Main {
	static int n;
	static String[] arr;
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		Map<String, Integer> map = new HashMap<>();
		n = sc.nextInt();
		arr = new String[n];
		for(int i = 0;i < n;i++) {
			arr[i] = sc.next();
			if(map.containsKey(arr[i])) {
				int cnt = map.get(arr[i]);
				map.put(arr[i], cnt + 1);
			}else {
				map.put(arr[i], 1);
			}
		}
		sc.close();
		
		Arrays.sort(arr, new Comparator<String>() {
			@Override
			public int compare(String o1, String o2) {
				return o1.compareTo(o2);//      
			}
		});
		for(int i = 0;i < n;) {
			String str = arr[i];
			int cnt = map.get(str);
			System.out.println(str + " " + cnt);
			i += cnt;
		}
	}
}