Chọn ĐTQG Quảng Trị 2026 - Hành lang cứu trợ

Xem dạng PDF

Gửi bài giải

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

Tác giả:
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

Sau khi phân tích dữ liệu từ các trạm hiện trường tại các khu vực, các tuyến đường di chuyển cần được đánh giá để hình thành hành lang cứu trợ hiệu quả. Có ~N~ khu vực cứu trợ và có ~M~ đường đi một chiều nối trực tiếp giữa các khu vực.

~N~ khu vực và ~M~ đường đi được mô hình hóa như một đồ thị có hướng gồm ~N~ đỉnh được đánh số từ ~1~ đến ~N~ và ~M~ cạnh có hướng, trong đó cạnh ~(u, v)~ biểu diễn có đường đi trực tiếp từ đỉnh ~u~ đến đỉnh ~v~. Đỉnh ~1~ là sở chỉ huy và đỉnh ~N~ được xác định là khu vực cứu trợ trọng điểm. Tại đỉnh ~i~ có ~A_i~ đơn vị nguồn lực có thể huy động cho nhiệm vụ. Hành trình của đội cứu trợ xuất phát tại đỉnh ~1~ và phải kết thúc tại đỉnh ~N~. Trên hành trình này, đội cứu trợ đi qua đỉnh nào thì được huy động nguồn lực tại đỉnh đó, có thể đi qua một đỉnh nhiều lần nhưng chỉ huy động nguồn lực tại đỉnh đó ~1~ lần.

Yêu cầu: Hãy xác định tổng nguồn lực lớn nhất có thể huy động được trên một hành trình từ đỉnh ~1~ đến đỉnh ~N~. Luôn tồn tại ít nhất một đường đi từ đỉnh ~1~ đến đỉnh ~N~.

Input

  • Dòng ~1~ chứa hai số nguyên ~N, M~ ~(2 \le N \le 2 \cdot 10^5; 1 \le M \le 4 \cdot 10^5)~;

  • Dòng ~2~ chứa ~N~ số nguyên dương ~A_1, A_2, \dots, A_N~ ~(1 \le A_i \le 10^9; 1 \le i \le N)~;

  • ~M~ dòng tiếp theo, mỗi dòng chứa hai số nguyên ~u, v~ biểu diễn cho một cạnh có hướng nối trực tiếp từ đỉnh ~u~ đến đỉnh ~v~ ~(1 \le u, v \le N, u \ne v)~.

Output

Ghi ra một dòng chứa một số nguyên duy nhất là tổng nguồn lực lớn nhất có thể huy động được.

Scoring

Subtask Điểm Ràng buộc
1 ~15\%~ ~N \le 15, M \le 40~
2 ~20\%~ Đồ thị không có chu trình
3 ~30\%~ ~N \le 400, M \le 5000~
4 ~35\%~ Không có giới hạn gì thêm

Sample Input 1

5 6
6 5 12 3 8
1 2
1 5
2 3
2 4
3 2
3 5

Sample Output 1

31

Sample Input 2

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

Sample Output 2

36

Notes

Trong ví dụ thứ nhất, có thể đi ~1 \rightarrow 2 \rightarrow 3 \rightarrow 5~. Tổng nguồn lực lớn nhất có thể huy động được là ~6 + 5 + 12 + 8 = 31~.

Trong ví dụ thứ hai, có thể đi ~1 \rightarrow 2 \rightarrow 3 \rightarrow 2 \rightarrow 5 \rightarrow 4 \rightarrow 6~. Đỉnh ~2~ được đi qua hai lần nhưng nguồn lực tại đỉnh này chỉ được tính một lần. Tổng nguồn lực lớn nhất có thể huy động được là ~5 + 4 + 8 + 6 + 3 + 10 = 36~.


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.