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

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

홀수 GCD 매칭

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

요약
N개의 정수가 주어질 때, 최대공약수가 홀수인 쌍들로 이루어진 최대 크기의 서로소 쌍 집합을 구한다.
난이도

보통10점 중 7점

유형
정수론, 그래프, 그리디, 수학
정답자
아직 제출이 없습니다

문제

N개의 정수 A1,…,ANA_1, \ldots, A_N이 있다. gcd⁡(Ai,Aj)\gcd(A_i, A_j)가 홀수이면 AiA_i와 AjA_j를 짝지을 수 있다. gcd⁡(a,b)\gcd(a, b)는 aa와 bb의 최대공약수이다. 예를 들어 gcd⁡(6,9)=3\gcd(6, 9) = 3이 홀수이므로 6과 9는 짝지을 수 있지만, gcd⁡(12,8)=4\gcd(12, 8) = 4가 짝수이므로 12와 8은 짝지을 수 없다.

A1,…,ANA_1, \ldots, A_N의 홀수 GCD 매칭이란 다음 조건을 만족하는 짝의 집합이다.

  • 각 짝은 1≤i<j≤N1 \le i < j \le N인 두 정수 (i,j)(i, j)로 이루어진다.
  • 각 정수 ii는 집합에 많아야 한 번 등장한다.
  • (i,j)(i, j)가 집합에 속하면 AiA_i와 AjA_j를 짝지을 수 있어야 한다.

A1,…,ANA_1, \ldots, A_N이 주어질 때, A1,…,ANA_1, \ldots, A_N의 최대 홀수 GCD 매칭의 크기를 구하라. 어떤 홀수 GCD 매칭보다 짝의 수가 많은 홀수 GCD 매칭이 존재하지 않으면 그 매칭은 최대이다.

예를 들어 A1,…,A5={6,8,9,12,13}A_1, \ldots, A_5 = \{6, 8, 9, 12, 13\}이라 하자. 이 예에서 최대 홀수 GCD 매칭의 크기는 2이며, 그중 하나는 {(1,3),(2,5)}\{(1, 3), (2, 5)\}로 (A1=6(A_1 = 6과 A3=9)A_3 = 9), (A2=8(A_2 = 8과 A5=13)A_5 = 13)을 짝지은 것이다. 크기가 1인 {(1,3)}\{(1, 3)\}도 올바른 홀수 GCD 매칭이지만 최대는 아니다. 한편 {(2,4)}\{(2, 4)\}는 이 예에서 A2=8A_2 = 8과 A4=12A_4 = 12를 짝지을 수 없으므로 올바른 홀수 GCD 매칭이 아니다.

입력

첫 줄에 AA의 크기를 나타내는 정수 NN이 주어진다. (1≤N≤20 0001 \le N \le 20\,000) 다음 줄에 배열 AA를 나타내는 NN개의 정수 AiA_i가 주어진다. (1≤Ai≤1061 \le A_i \le 10^6)

출력

A1,…,ANA_1, \ldots, A_N의 최대 홀수 GCD 매칭의 크기를 한 줄에 출력한다.

예제3

  1. 예제 1

    입력
    5
    6 8 9 12 13
    
    예상 출력
    2
    
  2. 예제 2

    입력
    3
    10 10 10
    
    예상 출력
    0
    
  3. 예제 3

    입력
    7
    4 3 2 4 5 6 3
    
    예상 출력
    3