만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

연락

면접 대비

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

요약
사람마다 성별이 주어지고, 각 만남 뒤에 전화번호를 주고받은 연결을 따라 서로 연락할 수 있는 남녀 쌍의 수를 구합니다.
난이도

보통10점 중 4점

유형
유니온 파인드, 구현
정답자
아직 제출이 없습니다

문제

11번부터 NN번까지 NN명의 사람들은 친목을 다지기 위해 주기적으로 모임을 연다. ii번 사람의 주민등록번호 뒷자리 첫 번째 숫자는 cic_i이다. cic_i가 1,3,5,7,91, 3, 5, 7, 9 중 하나이면 남성이고, 0,2,4,6,80, 2, 4, 6, 8 중 하나이면 여성이다.

한 번의 모임에서 두 사람이 서로 전화번호를 교환한다. ii번째 모임에서 전화번호를 교환하는 사람은 aia_i번 사람과 bib_i번 사람이다.

전화번호를 교환한 두 사람은 서로 연락 가능하다. 또한 임의의 aa, bb, cc에 대해 aa번 사람과 bb번 사람이 연락 가능하고, bb번 사람과 cc번 사람이 연락 가능하면 aa번 사람과 cc번 사람도 연락 가능하다.

모임은 총 MM번 진행되었다. i=1,2,⋯ ,Mi = 1, 2, \cdots, M에 대하여, ii번째 모임이 끝난 직후 서로 연락 가능한 남녀 쌍의 개수의 최솟값을 구하라.

입력

첫째 줄에 모임에 참석하는 사람의 수 NN과 개최된 모임의 수 MM이 공백으로 구분되어 주어진다.

둘째 줄에 정수 c1,c2,⋯ ,cNc_1, c_2, \cdots, c_N이 공백으로 구분되어 주어진다. cic_i는 ii번 사람의 주민등록번호 뒷자리 첫 번째 숫자이다.

셋째 줄부터 MM개의 줄에 걸쳐 MM개의 모임에 관한 정보가 주어진다. 2+i2 + i번째 줄에는 ii번째 모임에서 전화번호를 교환하는 aia_i와 bib_i가 공백으로 구분되어 주어진다.

출력

첫 번째 줄부터 MM개의 줄에 걸쳐 답을 출력한다. ii번째 줄에는 ii번째 모임 시점에서 서로 연락 가능한 남녀 쌍의 개수의 최솟값을 출력한다.

제한

  • 2≤N≤100 0002 \leq N \leq 100\,000
  • 1≤M≤200 0001 \leq M \leq 200\,000
  • 0≤ci≤90 \leq c_i \leq 9 (1≤i≤N1 \leq i \leq N)
  • 1≤ai,bi≤N1 \leq a_i, b_i \leq N (1≤i≤M1 \leq i \leq M)
  • ai≠bia_i \neq b_i (1≤i≤M1 \leq i \leq M)

예제2

  1. 예제 1

    입력
    4 3
    3 4 3 4
    2 3
    3 4
    2 4
    
    예상 출력
    1
    2
    2
    
  2. 예제 2

    입력
    4 5
    1 3 5 7
    1 2
    2 3
    1 4
    4 2
    3 1
    
    예상 출력
    0
    0
    0
    0
    0