만드는 중입니다

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

성호와 두산이

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

요약
두 사람이 각자의 트리에서 잎 정점을 번갈아 제거하고 제거한 구슬의 색으로 다음 차례를 정합니다. 게임이 끝났을 때 남는 구슬 수의 최솟값과 최댓값을 구합니다.
난이도

어려움10점 중 8점

유형
트리, 그리디, 게임 이론
정답자
아직 제출이 없습니다

문제

빨간색 구슬과 파란색 구슬이 각각 NN개씩 있다. 성호와 두산이는 이 구슬을 가지고 게임을 한다. 게임을 시작하기 전에 두 사람은 구슬을 NN개씩 나누어 가진다. 각자 나누어 가진 구슬을 정점으로 하는 트리를 만들고, 루트가 될 구슬을 하나 정한다. 이 구슬이 1번이 된다.

게임은 성호부터 시작하며, 자신의 차례에는 다음 행동을 한다.

  • 자신의 트리에서 리프인 구슬을 하나 제거한다. 제거할 구슬이 없다면 게임을 종료한다.
  • 제거한 구슬이 빨간색이면 다음 차례는 성호, 파란색이면 두산이가 된다. 이 과정을 반복한다.

입력

첫 번째 줄에 자연수 NN이 주어진다.

두 번째 줄에는 성호가 가져간 NN개 구슬의 색깔을 나타내는 정수가 공백으로 구분되어 주어진다. ii번째 정수는 ii번 구슬의 색깔이며, 00은 빨간색, 11은 파란색을 의미한다. (1≤i≤N1 \leq i \leq N)

세 번째 줄부터 N−1N-1개의 줄에 걸쳐 성호가 만든 트리의 간선이 연결하는 구슬 번호 두 개가 공백으로 구분되어 주어진다.

N+2N+2번째 줄에는 두산이가 가져간 NN개 구슬의 색깔을 성호의 경우와 같은 형식으로 공백으로 구분되어 주어진다.

N+3N+3번째 줄부터 N−1N-1개의 줄에 걸쳐 두산이가 만든 트리의 간선이 연결하는 구슬 번호 두 개가 공백으로 구분되어 주어진다.

출력

게임이 종료되었을 때 게임 전체에 남아 있는 구슬 개수의 최솟값과 최댓값을 공백으로 구분하여 출력한다.

제한

  • 1≤N≤100,0001 \leq N \leq 100,000
  • 빨간색 구슬은 총 NN개, 파란색 구슬은 총 NN개 있다.
  • 각자의 구슬 번호는 11부터 NN까지이며, 서로 다르다.
  • 성호와 두산이가 연결한 간선은 각각 트리 구조를 이룬다.

예제2

  1. 예제 1

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

    입력
    12
    1 1 0 0 1 0 1 0 1 0 0 1
    1 2
    1 3
    2 4
    2 5
    2 6
    5 9
    5 10
    7 11
    7 12
    3 7
    3 8
    1 1 1 0 1 1 0 1 0 0 0 0
    1 2
    1 3
    2 4
    2 5
    2 6
    5 9
    5 10
    7 11
    3 7
    3 8
    7 12
    
    예상 출력
    2 6