CF1767F.Two Subtrees

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a rooted tree consisting of nn vertices. The vertex 11 is the root. Each vertex has an integer written on it; this integer is valival_i for the vertex ii .

You are given qq queries to the tree. The ii -th query is represented by two vertices, uiu_i and viv_i . To answer the query, consider all vertices ww that lie in the subtree of uiu_i or viv_i (if a vertex is in both subtrees, it is counted twice). For all vertices in these two subtrees, list all integers written on them, and find the integer with the maximum number of occurrences. If there are multiple integers with maximum number of occurrences, the minimum among them is the answer.

输入格式

The first line contains one integer nn ( 1n21051 \le n \le 2 \cdot 10^5 ) — the number of vertices in the tree.

The second line contains nn integers val1,val2,,valnval_1, val_2, \dots, val_n ( 1vali21051 \le val_i \le 2 \cdot 10^5 ) — the numbers written on the vertices.

Then n1n - 1 lines follow, each containing two integers xx and yy ( 1x,yn1 \le x, y \le n ) representing an edge between vertices xx and yy . These edges form a tree.

The next line contains one integer qq ( 1q21051 \le q \le 2 \cdot 10^5 ) — the number of queries to process.

Then qq lines follow. The ii -th of them containing two numbers uiu_i and viv_i ( 1ui,vin1 \le u_i, v_i \le n ) — the roots of subtrees in the ii -th query.

输出格式

For each query, print one integer — the number that has the maximum amount of occurrences in the corresponding pair of subtrees (if there are multiple such numbers, print the minimum one among them).

输入输出样例

  • 输入#1

    8
    2 1 3 2 3 3 2 4
    1 2
    1 3
    2 4
    3 5
    3 6
    3 7
    7 8
    6
    2 7
    3 7
    2 3
    1 1
    5 6
    1 3

    输出#1

    2
    3
    3
    2
    3
    3

说明/提示

In the 11 -st query, the pair of subtrees consists of vertices [2,4,7,8][2, 4, 7, 8] , and the numbers written on them are {1,2,2,4}\{1, 2, 2, 4\} . The number 22 occurs twice, all other numbers — at most once, so the answer is 22 .

In the 22 -nd query, the pair of subtrees consists of vertices [3,5,6,7,7,8,8][3, 5, 6, 7, 7, 8, 8] , and the numbers written on them are {3,3,3,2,2,4,4}\{3, 3, 3, 2, 2, 4, 4\} . The number 33 has the maximum number of occurrences.

In the 44 -th query, the pair of subtrees consists of vertices [1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8][1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8] , and the numbers written on them are {2,2,1,1,3,3,2,2,3,3,3,3,2,2,4,4}\{2, 2, 1, 1, 3, 3, 2, 2, 3, 3, 3, 3, 2, 2, 4, 4\} . The numbers 22 and 33 are the most common, the minimum of them is 22 .

首页