結果

問題 No.120 傾向と対策:門松列(その1)
ユーザー tsunabittsunabit
提出日時 2020-03-03 17:40:34
言語 Java21
(openjdk 21)
結果
AC  
実行時間 1,015 ms / 5,000 ms
コード長 1,144 bytes
コンパイル時間 4,251 ms
コンパイル使用メモリ 79,036 KB
実行使用メモリ 49,028 KB
最終ジャッジ日時 2024-04-22 00:20:48
合計ジャッジ時間 8,940 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 819 ms
48,556 KB
testcase_01 AC 876 ms
48,472 KB
testcase_02 AC 657 ms
48,384 KB
testcase_03 AC 1,015 ms
49,028 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.*;
import java.io.*;
import java.math.*;

public class No120 {
	public static void main(String[] args) {
		try {
			Scanner sc = new Scanner(System.in);
			int t = sc.nextInt();

			for(int i = 0; i < t; i++) {
				int n = sc.nextInt();
				HashMap<Integer, Integer> m = new HashMap<Integer, Integer>();
				
				for(int j = 0; j < n; j++) {
					int tmp = sc.nextInt();
					if(m.containsKey(tmp)) {
						m.put(tmp, m.get(tmp)+1);
					}else {
						m.put(tmp, 1);
					}
				}
				
				for(int c : m.keySet()) {
//					System.out.println("k : v = " + c + " : " + m.get(c));
				}
				
				int[] a = new int[m.size()];
				int z = 0;
				for(int c : m.keySet()) {
					a[z] = m.get(c);
					z++;
				}
				Arrays.sort(a);
//				System.out.println(Arrays.toString(a));

				long ss = 0;
				while(a.length-3 >= 0 && a[a.length-3] > 0) {
					ss++;
					a[a.length-1]--;
					a[a.length-2]--;
					a[a.length-3]--;
					Arrays.sort(a);
				}
				System.out.println(ss);
			}
		} catch(Exception e) {
    		System.out.println("例外が発生しました。");
            System.out.println(e);
            return;
    	}
 	}
}
0