Double Up

시간 제한2초메모리 제한1024 MB

요약
수열에서 원소 하나를 골라 2를 곱하는 연산을 원하는 만큼 반복한 뒤, 가장 많이 등장하는 수의 최대 등장 횟수를 구한다.
난이도

보통10점 중 7점

유형
해시맵, 수학, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

NN개의 양의 정수로 이루어진 수열 AA가 주어진다. 달구는 이 수열에서 수를 하나 골라 22를 곱하는 작업을 원하는 만큼 수행할 수 있다.

달구가 모든 작업을 수행한 뒤, 배열에서 가장 많이 등장하는 수를 kk라 하자. 가장 많이 등장하는 수가 여러 개라면 그중 가장 큰 수를 kk라 한다. kk의 등장 횟수로 가능한 최댓값을 구해보자.

입력

첫째 줄에 수열의 길이 NN이 주어진다. (1≤N≤200 000)(1 \le N \le 200\ 000)

둘째 줄에 NN개의 양의 정수 A_1,A_2,⋯ ,A_NA\_1, A\_2, \cdots, A\_N이 공백으로 구분되어 주어진다. (1≤A_i≤109)(1 \le A\_i \le 10^9)

출력

작업을 원하는 만큼 수행한 뒤, 배열에서 가장 많이 등장하는 수의 가능한 최대 등장 횟수를 출력한다.

예제2

  1. 예제 1

    입력
    4
    5 10 15 20
    
    예상 출력
    3
    
  2. 예제 2

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