문제
Farmer John은
모든
Federal Bovine Intermediary (FBI)는 이 트리에서 근사 중앙값(approximate median) 을 찾는 작업을 FJ에게 맡겼다. 이를 위해 FJ는 다음과 같은 알고리즘을 고안했다.
마지막 노드
N 부터 역순으로 탐색한다.현재 노드가 자신의 두 자식과 함께 중앙값이 아니라면, 현재 노드와 중앙값이 되는 자식 노드의 값을 교환한다.
이 과정을 반복하면, 최종적으로 루트 노드(노드 1)의 값이 근사 중앙값 이 된다.
FBI는 FJ에게
각 질의에 대해, FJ는 일부 노드의 초기 값을 변경한 후 근사 중앙값 알고리즘 을 실행한다.
이때, 알고리즘 실행 후 루트 노드의 값이
입력
입력의 첫 번째 줄에는
다음
그다음 줄에는
다음
출력
출력은
부분문제
번호 | 점수 | 조건 |
---|---|---|
#1 | 20점 | |
#2 | 30점 | |
#3 | 50점 | 추가 제약 조건 없음 |
예제1
5
10 10000
30 1000
20 100
50 10
40 1
11
55
50
45
40
35
30
25
20
15
10
5
111
101
101
100
100
100
100
0
11
11
111
근사 중앙값을 40으로 만들기 위해, FJ는 노드 3의 값을 60으로 변경할 수 있다. 이 경우 비용은
근사 중앙값을 45로 만들기 위해, FJ는 노드 3의 값을 60으로 변경하고, 노드 5의 값을 45로 변경해야 한다. 이 경우 총 비용은