Đua xe (Race)
Đề bài
Mô tả
Một đường đua thẳng dài km có chiếc xe cùng xuất phát tại vị trí tại thời điểm . Mỗi xe được mô tả bởi một dãy đoạn vận tốc: trên đoạn thứ xe chạy với vận tốc không đổi km/h trong giờ. Các đoạn được liệt kê theo đúng thứ tự thời gian. Tổng quãng đường mỗi xe đi đúng bằng km.
Một lần vượt là sự kiện mà một xe trở thành dẫn trước một xe khác (chuyển từ vị thế ngang bằng hoặc kém hơn sang vị thế ở phía trước). Bài toán đảm bảo không có khoảng thời gian dương nào mà hai xe luôn cùng vị trí — mọi sự kiện vượt xảy ra tức thời. Tại cùng một thời điểm tại cùng một điểm có thể có nhiều cặp xe vượt nhau — mỗi cặp được tính riêng.
Sự kiện hai xe cùng có mặt tại vạch xuất phát (vị trí ) hoặc tại vạch đích (vị trí ) không được tính là vượt.
Hãy đếm tổng số lần vượt xảy ra trong suốt cuộc đua.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- Tiếp theo là dòng, mỗi dòng mô tả một xe. Dòng thứ bắt đầu bằng số nguyên — số đoạn vận tốc của xe , sau đó là cặp số nguyên phân cách bởi dấu cách.
Dữ liệu ra
In ra một số nguyên duy nhất — tổng số lần vượt giữa các cặp xe trong cuộc đua.
Ràng buộc
- Với mỗi xe, tổng .
- Bài toán đảm bảo mọi lần vượt đều xảy ra tức thời.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 33 2 5 1 2 14 1 3 11 |
1 | Xe 1 dẫn trước trong giây đầu (chạy 5 km/h, xe 2 chạy 3 km/h). Sau đó xe 1 giảm xuống 2 km/h trong khi xe 2 vẫn 3 km/h, nên xe 2 đuổi kịp rồi vượt lên một lần. |
| 2 33 2 1 3 10 3 1 11 3 |
0 | Trong giờ đầu xe 2 luôn dẫn trước (11 > 1). Từ giờ thứ trở đi xe 1 chạy 10 km/h trong khi xe 2 đã về đích — không cặp xe nào vượt nhau. |
| 5 33 2 1 3 3 10 1 11 3 2 5 3 3 6 2 3 1 10 3 2 6 3 3 5 |
2 | Trong cả cuộc đua, tổng cộng có đúng hai lần một xe vượt lên trên một xe khác. |
Bình luận