해결한 사람
0
명
정답률
0.00
%
시간 제한
3000
ms
메모리 제한
245
MB
In BerSoft n명의 프로그래머가 일하고 있으며, 프로그래머 i는 실력 로 특징지어진다.
프로그래머 a의 실력이 프로그래머 b의 실력보다 엄격히 크고 ( > ), 프로그래머 a와 b가 다투고 있지 않을 때, 그리고 그럴 때에만 프로그래머 a는 프로그래머 b의 멘토가 될 수 있다.
각 프로그래머의 실력과 서로 다투고 있는 프로그래머들의 k개 쌍 목록이 주어진다(쌍은 순서가 없다). 각 프로그래머 i에 대해, 프로그래머 i가 멘토가 될 수 있는 프로그래머의 수를 구한다.
첫째 줄에 정수 n와 k (2 ≤ n ≤ 2 ⋅ , 0 ≤ k ≤ min(2 ⋅ , (n ⋅ (n - 1))/(2)))가 주어진다. 이는 각각 프로그래머의 총수와 서로 다투고 있는 프로그래머 쌍의 수이다.
둘째 줄에 정수 수열 , , ..., (1 ≤ ≤ )이 주어지며, 는 i-th 프로그래머의 실력과 같다.
이어지는 k개의 각 줄에는 서로 다른 두 정수 x, y (1 ≤ x, y ≤ n, x ≠ y)이 주어진다. 이는 서로 다투고 있는 프로그래머 한 쌍이다. 쌍에는 순서가 없다. 즉, x가 y와 다투고 있다면 y도 x와 다투고 있다는 뜻이다. 각 쌍 (x, y)에 대해 입력에 다른 쌍 (x, y)와 (y, x)가 없다는 것이 보장된다.
n개의 정수를 출력한다. i-th 수는 i-th 프로그래머가 멘토가 될 수 있는 프로그래머의 수와 같아야 한다. 프로그래머는 입력에서 실력이 주어진 순서와 같은 순서로 번호가 매겨진다.
10 4
5 4 1 5 4 3 7 1 2 5
4 6
2 1
10 8
3 5
5 4 0 5 3 3 9 0 2 5 4 2
10 4 10 15
1 2
4 3
0 0 1 2 첫 번째 예제에서 첫 번째 프로그래머는 다른 어떤 프로그래머의 멘토도 될 수 없다(첫 번째 프로그래머보다 실력이 낮은 프로그래머는 두 번째 프로그래머뿐이지만, 둘은 다투고 있기 때문이다). 두 번째 프로그래머는 다른 프로그래머 중 실력이 가장 낮으므로 다른 어떤 프로그래머의 멘토도 될 수 없다. 세 번째 프로그래머는 두 번째 프로그래머의 멘토가 될 수 있다. 네 번째 프로그래머는 첫 번째 프로그래머와 두 번째 프로그래머의 멘토가 될 수 있다. 세 번째 프로그래머와는 다투고 있으므로 그의 멘토는 될 수 없다.