Hướng dẫn
Xem PDF
Điểm:
10
Thời gian:
10.0s
Bộ nhớ:
8M
Input:
bàn phím
Output:
màn hình
Tại công ty Ailearndn có n lập trình viên, lập trình viên thứ i có trình độ kỹ năng là r[i].
Một lập trình viên a có thể trở thành người hướng dẫn của lập trình viên b nếu và chỉ nếu thỏa mãn hai điều kiện:
- r[a] > r[b] (kỹ năng của a cao hơn kỹ năng của b);
- Hai người không đang cãi nhau.
Bạn biết kỹ năng của từng lập trình viên và danh sách các cặp lập trình viên đang cãi nhau.
Hãy xác định, với mỗi lập trình viên i, có bao nhiêu lập trình viên mà anh/cô ấy có thể làm người hướng dẫn.
Input
Dòng đầu tiên chứa hai số nguyên n và k:n: số lượng lập trình viên.k: số lượng cặp lập trình viên đang cãi nhau.(2 ≤ n ≤ 200000, 0 ≤ k ≤ min(2000, n*(n−1)/2))
Dòng thứ hai chứa dãy số nguyên r1, r2, …, rn(1 ≤ ri ≤ 10^9) — trong đó ri là trình độ kỹ năng của lập trình viên thứ i.
Mỗi trong k dòng tiếp theo chứa hai số nguyên x y (1 ≤ x, y ≤ n, x ≠ y)biểu diễn rằng lập trình viên x và y đang cãi nhau.
Các cặp là vô hướng, nghĩa là nếu x cãi nhau với y thì y cũng cãi nhau với x.Đảm bảo rằng mỗi cặp chỉ xuất hiện một lần.
Output
In ra n số nguyên ans1 ans2 … ansn,
trong đó ansi là số lượng lập trình viên mà lập trình viên i có thể làm người hướng dẫn.
Input1
4 2
10 4 10 15
1 2
4 3
Output1
0 0 1 2
Input2
5 3
10 4 10 15 4
1 2
3 2
4 5
Output2
1 0 1 3 0
Bình luận