Logo
(追記) (追記ここまで)

32692번 - Double Up 2

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB141262217.188%

문제

$N$개의 정수로 이루어진 배열 $A$와 정수 $M$이 주어진다. 달구는 이 배열에 다음 작업을 원하는 만큼 수행할 수 있다.

  • 1ドル \le i \le N$을 만족하는 $i$를 고른다. $A_i$를 $\left( A_i \times 2 \right) \bmod{M}$으로 교체한다.

달구가 모든 작업을 수행한 뒤, 배열에서 가장 많이 등장하는 수를 $k$라 하자. $k$의 등장 횟수로 가능한 최댓값을 구하고, 그러한 배열 상태를 만들기 위해 진행해야 하는 연산의 최소 횟수를 구하라.

입력

첫째 줄에 열의 길이 $N$과 $M$이 공백으로 구분되어 주어진다. $(1 \le N, M\le 1\ 000\ 000)$

둘째 줄에 $N$개의 정수 $A_1, A_2, \cdots, A_N$이 공백으로 구분되어 주어진다. $(0 \le A_i < M)$

출력

작업을 원하는 만큼 수행한 뒤, 배열에서 가장 많이 등장하는 수의 가능한 최대 등장 횟수와 그런 배열을 만들기 위해 진행해야 하는 연산의 최소 횟수를 공백으로 구분하여 출력한다.

제한

예제 입력 1

4 7
4 1 1 5

예제 출력 1

3 1

예제 입력 2

20 10
2 7 9 5 0 2 8 8 4 1 9 7 1 6 9 3 9 9 3 7

예제 출력 2

18 33

힌트

출처

University > DGIST > 2024 DGIST 알고리즘 경진대회 J번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /