USACO 2022 US Open Contest, Silver, Visits

Xem PDF

Điểm: 1000 (p) Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

\(N\) người bạn của Bessie \((2\leq N \leq 10^5)\) đều sở hữu trang trại của riêng mình. Với mỗi \(1\leq i\leq N\), con bò \(𝑖\) muốn đến thăm con bò \(a_i (a_i≠i)\).

Cho một hoán vị \((p_1,p_2,…,p_N)\) của \(1 … 𝑁\), các lượt thăm diễn ra như sau.

Đối với mỗi \(i\) từ \(1\) đến \(N\):

  • Nếu con bò \(a_{p_i}\) đã rời khỏi trang trại của mình thì con bò \(p_i\) vẫn ở lại trang trại của mình.
  • Nếu không, con bò \(p_i\) sẽ rời trang trại của mình để đến thăm trang trại của con bò \(a_{p_i}\). Lần ghé thăm này khiến tiếng "moo" vui vẻ được kêu lên \(v_{p_i}\) lần \((0 \leq v_{p_i}\leq 10^9)\).

Tính số lượng moos tối đa có thể có sau tất cả các lượt thăm nếu chọn hoán vị \(p\) hợp lý.

Input

  • Dòng đầu tiên chứa số \(N\).
  • \(N\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên cách nhau bằng dấu cách \(a_i\)\(v_i\).

Output

Kết quả bài toán.

Scoring

  • Subtask \(1\): \(a_i \ne a_j\) với mọi \(i \ne j\).
  • Subtask \(2\): \(N \leq 10^3\)
  • Subtask \(3\): Không có điều kiện gì thêm.

Example

Test 1

Input
4
2 10
3 20
4 30
1 40
Output
90       
Note

Nếu \(p=(1,4,3,2)\):

  • Con bò \(1\) thăm con bò \(2\), tạo ra \(10\) moos.
  • Con bò \(4\) thấy con bò \(1\) đã di chuyển nên đứng yên.
  • Con bò \(3\) thăm con bò \(4\), tạo ra \(30\) moos.
  • Con bò \(2\) thấy con bò \(3\) đã di chuyển nên đứng yên.

Tổng cộng có \(10+30=40\) moos.

Nếu \(p=(2,3,4,1)\):

  • Con bò \(2\) thăm con bò \(3\), tạo ra \(20\) moos.
  • Con bò \(3\) thăm con bò \(4\), tạo ra \(30\) moos.
  • Con bò \(4\) thăm con bò \(1\), tạo ra \(40\) moos.
  • Con bò \(1\) thấy con bò \(2\) đã di chuyển nên đứng yên.

Tổng cộng có \(20+30+40=90\) moos. Có thể thấy đây là kết quả tốt nhất có thể xảy ra.


Bình luận

Không có bình luận nào.