JOI 2017 - Arranging Tickets
Xem PDFỞ Cộng hòa JOI có \(N\) nhà ga, được đánh số từ \(1\) đến \(N\) và nằm theo thứ tự chiều kim đồng hồ trên một tuyến đường sắt hình tròn.
Có \(N\) loại vé tàu, được đánh số từ \(1\) đến \(N\). Một vé loại \(i\) với \(1 \le i \le N-1\) cho phép một người đi từ ga \(i\) đến ga \(i+1\) hoặc theo chiều ngược lại. Một vé loại \(N\) cho phép một người đi giữa ga \(1\) và ga \(N\) theo một trong hai chiều. Vé chỉ được bán theo gói gồm đúng \(N\) vé, mỗi loại một vé.
Bạn làm việc tại một đại lý du lịch và hôm nay nhận được \(M\) yêu cầu. Yêu cầu thứ \(i\) cho biết có \(C_i\) người muốn đi từ ga \(A_i\) đến ga \(B_i\). Những người thuộc cùng một yêu cầu không nhất thiết phải đi cùng tuyến đường.
Yêu cầu
Tính số gói vé ít nhất cần mua để đáp ứng tất cả các yêu cầu.
Dữ liệu vào
- Dòng đầu gồm hai số nguyên \(N,M\), là số nhà ga và số yêu cầu.
- Trong \(M\) dòng tiếp theo, dòng thứ \(i\) gồm ba số nguyên \(A_i,B_i,C_i\), cho biết có \(C_i\) người muốn đi từ ga \(A_i\) đến ga \(B_i\).
Dữ liệu ra
In ra số gói vé ít nhất cần mua.
Ràng buộc
- \(3 \le N \le 200\,000\).
- \(1 \le M \le 100\,000\).
- \(1 \le A_i,B_i \le N\) với mọi \(1 \le i \le M\).
- \(1 \le C_i \le 1\,000\,000\,000\) với mọi \(1 \le i \le M\).
- \(A_i \ne B_i\) với mọi \(1 \le i \le M\).
Phân nhóm
- Subtask 1 (10 điểm): \(N \le 20\), \(M \le 20\), và \(C_i=1\) với mọi \(i\).
- Subtask 2 (35 điểm): \(N \le 300\), \(M \le 300\), và \(C_i=1\) với mọi \(i\).
- Subtask 3 (20 điểm): \(N \le 3\,000\), \(M \le 3\,000\), và \(C_i=1\) với mọi \(i\).
- Subtask 4 (20 điểm): \(C_i=1\) với mọi \(i\).
- Subtask 5 (15 điểm): Không có ràng buộc bổ sung.
Giới hạn
- Thời gian: 4 giây.
- Bộ nhớ: 256 MB.
Ví dụ
Ví dụ 1
Input
3 3
1 2 1
2 3 1
3 1 1
Output
1
Giải thích
Nếu mọi người đều đi theo chiều kim đồng hồ thì cần đúng một vé mỗi loại, do đó chỉ cần mua một gói.
Ví dụ 2
Input
3 2
1 2 4
1 2 2
Output
3
Giải thích
Ở yêu cầu thứ nhất, có thể cho ba người đi theo chiều kim đồng hồ và một người đi ngược chiều kim đồng hồ. Ở yêu cầu thứ hai, cho cả hai người đi ngược chiều kim đồng hồ. Khi đó cần ba vé mỗi loại, nên ba gói là đủ; hai gói thì không thể đáp ứng tất cả hành trình.
Ví dụ 3
Input
6 3
1 4 1
2 5 1
3 6 1
Output
2
Giải thích
Có thể mua hai gói và phân vé như sau:
- Đưa các vé loại \(1,2,3\) cho người đi từ ga \(1\) đến ga \(4\).
- Đưa các vé loại \(1,6,5\) cho người đi từ ga \(2\) đến ga \(5\).
- Đưa các vé loại \(3,4,5\) cho người đi từ ga \(3\) đến ga \(6\).
Một gói là không đủ, nên đáp án là \(2\).
Kỳ thi:
- JOI 2017 Final Camp - Ngày 2 (4 Tháng 1., 2017)
Bình luận