[THHV 2019 - CTQ - 10] Bài 3: Cấp nước
Xem dạng PDF
Gửi bài giải
Điểm:
10,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Input:
stdin
Output:
stdout
Người đăng:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT
Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
An sinh ra tại một xã vùng cao của Sơn La, rất khan hiếm nước. Xã của An có tất cả ~N~ ngôi làng nhỏ, làng thứ ~i~ có độ cao so với mặt nước biển là ~a_i~. Trước kia người ta đã đào ~M~ con mương nối các ngôi làng với nhau mà không tính đến việc nước có chảy được sang nhau hay không.
Hiện nay xã của An quyết định đặt một trạm cấp nước tại ngôi làng ~K~, với hệ thống mương đã có và độ cao của các làng hãy giúp An xem xã của An có bao nhiêu làng sẽ được cung cấp nước.
Biết rằng nước có thể chảy từ làng ~i~ đến làng ~j~ nếu có mương nối giữa làng ~i~ với làng ~j~ và ~a_j \le a_i~.
Yêu cầu: Hãy tính số lượng ngôi làng được cấp nước từ làng ~K~ (kể cả làng ~K~).
Input
- Dòng 1: Ba số nguyên dương ~N, M, K~ (~M, N \le 5000~, ~K \le N~).
- Dòng 2: Chứa ~N~ số nguyên dương ~a_1, a_2, \dots, a_N~ là độ cao của các ngôi làng (~a_i \le 10^9~).
- ~M~ dòng sau mỗi dòng chứa hai số nguyên dương ~X~ và ~Y~ có nghĩa là có con mương đã được đào thông nhau giữa làng ~X~ với làng ~Y~.
Output
- Ghi một số nguyên dương duy nhất là số lượng ngôi làng được cấp nước từ làng ~K~.

Bình luận