[APIO 2009] ATM

Xem PDF

Nộp bài


Điểm: 20 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 512M

Tác giả:
Dạng bài

Tất cả các con đường trong thành phố Tam Kỳ đều là đường một chiều. Theo luật của chính quyền thành phố, tại mỗi giao lộ đều phải đặt một cây ATM. Một điều kỳ lạ là các quán bar cũng được đặt ở giao lộ, tuy nhiên không phải giao lộ nào cũng có quán bar.

Siêu đạo tặc BRUH quyết định thực hiện một phi vụ cướp ATM lớn nhất trong lịch sử. Anh ta bắt đầu từ giao lộ trung tâm, lái xe trên các tuyến đường trong thành phố và cướp sạch tiền ở mọi cây ATM mà anh ấy đi qua. Vào cuối ngày, BRUH quyết định đi vào một quán bar trong thành phố để tự thưởng cho thành quả của mình. Nghĩa là lộ trình của BRUH phải kết thúc tại giao lộ có quán bar.

Với tài năng lập trình xuất chúng, BRUH đã hack vào hệ thống thông tin của thành phố để nắm rõ được số tiền hiện có ở mỗi máy ATM trong ngày. Anh ấy muốn vạch ra một lộ trình di chuyển sao cho tổng số tiền cướp được là lớn nhất có thể. Biết rằng BRUH có thể đi lại nhiều lần trên các con đường, nhưng sẽ không thể thu thêm được gì từ những cây ATM đã bị cướp từ trước đó.

Yêu cầu: Hãy xác định tổng số tiền bị trộm.

Input

  • Dòng đầu chứa hai số nguyên dương \(n,\ m\) - lần lượt là số giao lộ và số đoạn đường một chiều trong thành phố;
  • Mỗi dòng trong \(m\) dòng tiếp theo chứa hai số nguyên dương \(u,\ v\) thể hiện một con đường một chiều từ \(u\) đến \(v\);
  • Tiếp theo gồm \(n\) dòng, dòng thứ \(i\) chứa số nguyên dương \(a_i\) thể hiện số tiền hiện có trong máy ATM tại giao lộ thứ \(i\);
  • Dòng tiếp theo chứa hai số nguyên dương \(s,\ p\) - lần lượt là chỉ số của giao lộ trung tâm và số lượng giao lộ có quán bar trong thành phố;
  • Dòng cuối cùng gồm \(p\) số nguyên dương, thể hiện chỉ số của các giao lộ có quán bar.

Output

  • In ra một số nguyên duy nhất là tổng số tiền bị trộm.

Ví dụ

Sample input
6 7
1 2
2 3
3 5
2 4
4 1
2 6
6 5
10
12
8
16
1
5
1 4
4 3 5 6
Sample output
47
Note

Ở ví dụ trên hình, thành phố có \(6\) giao lộ được đánh số từ \(1\) đến \(6\) thể hiện bằng các đỉnh của đồ thị. Số tiền trong mỗi cây ATM được ghi ngay trên đỉnh tương ứng. Các đỉnh tô đậm thể hiện các giao lộ có quán bar. Tên trộm đi theo lộ trình 1-2-4-1-2-3-5, kết thúc tại đỉnh \(5\) có quán bar, và thu được tổng số tiền là \(10+12+16+8+1=47\) đồng.

Ràng buộc:

  • Có \(60\%\) số test có \(n,\ m\leq3000\). Trong tất cả các test \(n,\ m\leq500000\);
  • Số tiền ở mỗi máy ATM: \(0\leq a_i\leq4000\);
  • Dữ liệu đảm bảo luôn có cách đi từ thành phố trung tâm đến ít nhất một quán bar.