게임의 꽃
시간 제한6초메모리 제한1024 MB
가중치가 있는 트리에서 가중치가 엄격히 증가하는 가장 긴 경로의 길이를 구하고, 가중치를 바꾸는 쿼리마다 그 길이를 출력합니다.
문제
여러분은 삼단논법을 아는가? blackking은 잘 알고 있다.
PS는 게임이다. 트리와 쿼리는 PS의 꽃이다. 따라서 트리와 쿼리는 게임의 꽃이다.
- blackking26
개의 정점으로 이루어진 트리(무방향 사이클이 없는 연결 그래프)가 있다. 정점은 번부터 번까지 번호가 매겨져 있고, 간선은 번부터 번까지 번호가 매겨져 있다. 번 정점에는 정수 가중치 가 부여되어 있다.
정점열 에 대해 와 사이에 간선이 있고 이면, 는 길이가 인 증가 경로이다.
주어진 트리에서 증가 경로 중 길이가 가장 긴 경로의 길이를 구한 뒤, 아래 쿼리를 처리하는 프로그램을 작성하시오.
- : 번 정점의 가중치 를 로 바꾼 뒤, 트리에서 증가 경로 중 길이가 가장 긴 경로의 길이를 출력한다.
입력
첫째 줄에 트리의 크기 과 쿼리의 개수 이 주어진다.
둘째 줄에 각 정점의 가중치 가 공백으로 구분되어 주어진다.
이후 개의 줄에 각 간선이 연결하는 두 정점 번호 , 가 주어진다.
이후 개의 줄에 쿼리의 정보 , 가 주어진다.
출력
첫 번째 줄에 주어진 트리에서 증가 경로 중 길이가 가장 긴 경로의 길이를 출력한다.
이후 개의 줄에 쿼리의 결과를 한 줄에 하나씩 순서대로 출력한다.