結果
| 問題 |
No.120 傾向と対策:門松列(その1)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-03-03 17:40:34 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 851 ms / 5,000 ms |
| コード長 | 1,144 bytes |
| コンパイル時間 | 4,553 ms |
| コンパイル使用メモリ | 79,504 KB |
| 実行使用メモリ | 48,508 KB |
| 最終ジャッジ日時 | 2024-10-13 22:52:31 |
| 合計ジャッジ時間 | 7,991 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 4 |
ソースコード
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;
}
}
}