You are on page 1of 1

Thang máy

Tên chương trình: ELEVATOR.*


Tại tòa nhà của công ty Intelligent có N cái thang máy. Mỗi thang máy chỉ làm
nhiệm vụ vận chuyển giữa đúng 2 tầng xác định và nó không bao giờ dừng lại một tầng nào
giữa 2 tầng làm việc của nó. Tốc độ di chuyển của tất cả các thang máy này là như nhau, và
nó mất 5 giây để đi qua 1 tầng.
Tại thời điểm bắt đầu, mỗi thang máy đều ở tầng thấp hơn trong 2 tầng làm việc của.
Thang máy sẽ bắt đầu di chuyển từ tầng thấp lên tầng cao, và ngay lập tức di chuyển từ tầng
cao xuống tầng thấp, … Cứ như thế toàn bộ hệ thống sẽ được vận hành tự động.
Anh Tôm đang đứng ở tầng thấp nhất, anh muốn càng nhanh càng tốt để đến được
tầng trên cùng của tòa nhà bằng hệ thống thang máy tự đồng này. Anh ấy chỉ có thể chuyển
thang máy tại những tầng có ít nhất hai thang máy dừng lại, và việc chuyển thang máy giả
sử rằng không tốn thời gian.
Viết chương trình tính thời gian ngắn nhất để Tôm có thể di chuyển lên tầng trên
cùng của tòa nhà.
Dữ liệu: cho từ tệp văn bản ELEVATOR.INP
 Dòng đầu tiên chứa 2 số nguyên K và N, cách nhau bởi dấu cách. Trong đó K là số
tầng của tòa nhà và N là số thang máy (2 ≤ K ≤ 1000, 1 ≤ N ≤ 50000).
 Mỗi dòng trong N dòng tiếp theo chứa hai số nguyên A và B, cách nhau bởi dấu
cách, 1 ≤ A < B ≤ K, thể hiện có thang máy di chuyển giữa hai tầng A và B.
 Không có hai thang máy khác nhau di chuyển giữa hai tầng giống nhau.
Kết quả: ghi ra tệp văn bản ELEVATOR.OUT
 Một dòng duy nhất là thời gian ngắn nhất (tính bằng giây) tìm được cho dữ liệu ở
trên.
Ghi chú: Dữ liệu vào luôn tồn tại kết quả.
Ví dụ:
ELEVATOR.INP ELEVATOR.INP ELEVATOR.INP
10 4 10 3 10 3
15 17 15
57 47 35
7 10 4 10 3 10
5 10
ELEVATOR.OUT ELEVATOR.OUT ELEVATOR.OUT
45 90 105

You might also like