結果
問題 |
No.120 傾向と対策:門松列(その1)
|
ユーザー |
|
提出日時 | 2022-05-22 20:07:55 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 142 ms / 5,000 ms |
コード長 | 564 bytes |
コンパイル時間 | 152 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 77,312 KB |
最終ジャッジ日時 | 2024-09-20 12:51:24 |
合計ジャッジ時間 | 1,282 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 4 |
ソースコード
T = int(input()) from collections import defaultdict def f(d,mid): tmp = 0 for i in d: v = d[i] tmp += min(mid,v) return tmp >= 3 * mid def calc(l): N = len(l) if N <= 2: return 0 d = defaultdict(int) for i in l: d[i] += 1 start = 0 end = N while end - start > 1: mid = end + start >> 1 if f(d,mid): start = mid else: end = mid return start for _ in range(T): N = int(input()) l = list(map(int,input().split())) print(calc(l))