Máy Phóng
Nộp bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
2.0s
Python 3
5.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Go, Java, Kotlin, Pascal, Python, Scratch
Trên một con đường thẳng (trục số), có máy phóng và truy vấn vận chuyển. Mỗi máy phóng có thể phóng hàng từ vị trí đến vị trí trong thời gian . Mỗi truy vấn yêu cầu vận chuyển hàng từ vị trí đến vị trí .
Để vận chuyển hàng từ đến , có hai lựa chọn:
- Không dùng máy phóng: mất đơn vị thời gian.
- Dùng máy phóng : đi bộ từ đến , phóng đến , rồi đi bộ đến ; tổng thời gian là .
Với mỗi truy vấn, hãy tìm thời gian vận chuyển nhỏ nhất (có thể dùng tối đa một máy phóng).
Dữ liệu vào
- Dòng 1: hai số nguyên và .
- dòng tiếp theo: mỗi dòng gồm ba số nguyên , , mô tả máy phóng .
- dòng tiếp theo: mỗi dòng gồm hai số nguyên , mô tả truy vấn .
Dữ liệu ra
In ra dòng, dòng thứ là thời gian vận chuyển nhỏ nhất cho truy vấn .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 3 0 10 1 13 8 2 1 12 5 2 20 7 |
4 3 10 |
Truy vấn 1 (1→12): dùng máy 1 tốn |1-0|+1+|10-12|=4. Truy vấn 2 (5→2): đi thẳng |5-2|=3. Truy vấn 3 (20→7): dùng máy 2 tốn |20-13|+2+|8-7|=10. |
Ghi chú
Bài toán yêu cầu xử lý nhanh truy vấn với máy phóng; thuật toán sẽ không đủ nhanh.
Bình luận