Longest Path

4.2

10 votes
Problem

You are given a tree with N nodes and N1 edges and an integer K. Each node has a label denoted by an integer, Ai. Your task is to find the length of the longest path such that label of all the nodes in the path are divisible by K.

Length of a path is the number of edges in that path.

 

Input Format:

First line contains two space separated integers, N and K. Next line contains N space separated integers, ith integer denotes the label of ith node, Ai. Next N1 lines contains two space separated integers each, U and V denoting that there is an edge between node U and node V.

 

Output Format:

Print a single integer denoting the length of the longest path such that label of all the nodes in the path are divisible by K.

 

Constraints:

1N105

1K105

1Ai105

1U,VN

Sample Input
6 2
4 2 3 2 3 5
1 2
1 3
2 4
2 5
3 6
Sample Output
2
Time Limit: 1
Memory Limit: 256
Source Limit:
Explanation

Longest path will be 1->2->4.

Editor Image

?