아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

아이콘 정리하기

시간 제한5초메모리 제한512 MB

요약
화면 크기 s를 정한 뒤 각 카테고리의 아이콘을 s개 또는 s-1개씩 담아, 전체 화면 수의 최솟값을 구한다.
난이도

보통10점 중 7점

유형
수학, 그리디, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

BerPhone X는 nn개의 애플리케이션이 미리 설치된 채로 출시를 앞두고 있다. 애플리케이션의 카테고리는 이 애플리케이션의 장르나 주제를 나타낸다(예: "게임", "비즈니스", "교육"). 카테고리는 11 이상 nn 이하의 정수로 주어지며, ii번째 애플리케이션의 카테고리는 c_ic\_i이다.

화면의 개수 mm과 각 화면의 크기 ss를 정할 수 있다. 다음 조건을 만족하도록 nn개 애플리케이션의 아이콘(애플리케이션 하나당 아이콘 하나)을 모두 배치해야 한다.

  • 각 화면에서 모든 아이콘은 같은 카테고리의 애플리케이션에 속해야 한다(서로 다른 화면이 같은 카테고리 애플리케이션의 아이콘을 담아도 된다).
  • 각 화면은 아이콘으로 완전히 채워지거나(화면에 있는 아이콘의 수가 ss와 같다), 거의 채워져야 한다(아이콘의 수가 s−1s-1과 같다).

가능한 화면 개수 mm의 최솟값을 구하라.

입력

첫째 줄에 정수 tt (1≤t≤10 0001 \le t \le 10\,000)가 주어진다. 이는 입력에 있는 테스트 케이스의 수이다. 그다음 tt개의 테스트 케이스가 이어진다.

각 테스트 케이스의 첫째 줄에 정수 nn (1≤n≤2⋅1061 \le n \le 2\cdot10^6)이 주어진다. 이는 아이콘의 수이다. 둘째 줄에 nn개의 정수 c_1,c_2,…,c_nc\_1, c\_2, \dots, c\_n (1≤c_i≤n1 \le c\_i \le n)이 주어지며, c_ic\_i는 ii번째 애플리케이션의 카테고리이다.

입력에 있는 모든 테스트 케이스의 nn 값의 합은 2⋅1062\cdot10^6을 넘지 않는다.

출력

tt개의 정수를 출력한다. 이는 입력에 나온 순서대로 각 테스트 케이스의 답이다. 테스트 케이스의 답은 주어진 조건을 만족하도록 nn개의 아이콘을 모두 배치할 수 있는 최소 화면 개수 mm이다.

힌트

예제의 첫 번째 테스트 케이스에서는 모든 아이콘을 크기 44인 세 화면에 배치할 수 있다. 카테고리 11의 아이콘 44개가 있는 화면, 카테고리 11의 아이콘 33개가 있는 화면, 카테고리 55의 아이콘 44개가 있는 화면이다.

예제1

  1. 예제 1

    입력
    3
    11
    1 5 1 5 1 5 1 1 1 1 5
    6
    1 2 2 2 2 1
    5
    4 3 3 1 2
    
    예상 출력
    3
    3
    4