Chọn ĐTQG TPHCM 2024 - Tham quan

Xem dạng PDF

Gửi bài giải

Điểm: 40,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

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

Một địa phương tổ chức hội chợ truyền thống. Hội chợ có ~N~ gian hàng được đánh số thứ tự từ ~1~ đến ~N~. Các gian hàng được nối nhau bởi ~M~ con đường một chiều, mỗi con đường nối trực tiếp hai gian hàng và giữa hai gian hàng bất kỳ có tối đa một con đường nối chúng. Mỗi khách đến tham quan gian hàng thứ ~i~ ~(1 \le i \le N)~ sẽ được tặng số điểm thưởng là ~c_i~ và một khách có thể đến một gian hàng nhiều lần nhưng chỉ nhận được điểm thưởng một lần của gian hàng đó.

Sau một hành trình tham quan, ban tổ chức quy đổi điểm thưởng thành quà tặng cho khách tham quan. Do đó, du khách muốn tìm một hành trình qua các gian hàng sao cho tổng điểm thưởng càng nhiều càng tốt. Một hành trình tham quan sẽ xuất phát từ một gian hàng bất kỳ, đi theo các con đường (trong ~M~ con đường trên) qua các gian hàng khác và kết thúc tại một gian hàng nào đó. Một gian hàng có thể được đến nhiều lần trong một hành trình.

Yêu cầu: Hãy viết chương trình tính tổng điểm thưởng lớn nhất mà khách có thể nhận được sau một hành trình.

Input

Dòng đầu là hai số nguyên dương ~N, M~, trong đó ~1 \le N, M \le 10^5~. Dòng tiếp theo gồm ~N~ số nguyên ~c_1, c_2, \dots, c_N~ cho biết điểm thưởng của các gian hàng, trong đó ~0 \le c_i \le 10^9~. Trên ~M~ dòng tiếp theo, mỗi dòng là một cặp số ~u, v~ phân biệt với ~1 \le u, v \le N~ cho biết có đường đi một chiều nối từ gian hàng thứ ~u~ sang ~v~. Dữ liệu đảm bảo rằng không có cặp ~(u, v)~ nào xuất hiện hơn một lần.

Output

Một số nguyên duy nhất cho biết tổng điểm thưởng lớn nhất mà khách có thể nhận được sau một hành trình.

Scoring

Subtask Điểm Ràng buộc
1 ~20\%~ ~N \le 10, M \le 20, c_i \le 100~
2 ~20\%~ ~N \le 100, M \le 200, c_i \le 1000~
3 ~30\%~ Dữ liệu đảm bảo không có hành trình nào sẽ đi qua một gian hàng hơn một lần
4 ~30\%~ Không có ràng buộc gì thêm

Sample Input 1

3 1
4 5 10
1 2

Sample Output 1

10

Sample Input 2

8 8
10 12 8 16 1 5 12 8
1 2
2 4
4 1
3 2
5 3
2 6
5 7
7 8

Sample Output 2

52

Notes

  • Test 1: Khách có thể tham quan gian hàng số ~3~ với điểm thưởng là ~10~; nếu đi tham quan gian hàng ~1~ và ~2~ thì tổng điểm thưởng là ~4 + 5 = 9~ thì ít hơn.

  • Test 2: Xuất phát từ gian hàng ~5~, kết thúc ở gian hàng ~6~ và qua các con đường như sau: ~5 \rightarrow 3 \rightarrow 2 \rightarrow 4 \rightarrow 1 \rightarrow 2 \rightarrow 6~. Tổng số điểm thưởng là: ~1 + 8 + 12 + 16 + 10 + 5 = 52~


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.