Thuật toán C-LOOK (Circular LOOK). Đầu đọc bắt đầu ở start, di chuyển theo hướng cho trước (U lên / D xuống). C-LOOK chỉ phục vụ theo MỘT chiều; khi tới yêu cầu xa nhất theo hướng đó, nó nhảy thẳng về yêu cầu xa nhất ở đầu kia (không phục vụ gì trên đường nhảy) rồi tiếp tục phục vụ theo cùng chiều.
Thuật toán (hướng = U):
Hướng = D đối xứng (phục vụ giảm dần ≤ start, nhảy lên yêu cầu lớn nhất, phục vụ giảm dần phần còn lại).
In ra tổng quãng đường di chuyển (kể cả quãng nhảy vòng).
Ví dụ: start=50, U, yêu cầu [82,170,43,140,24,16,190]. Đi lên 82..190, nhảy về 16, đi 16->24->43. Tổng=(190-50)+(190-16)+(43-16)=140+174+27=341.
Dòng đầu: start hướng N. Dòng tiếp: N vị trí yêu cầu.
0 ≤ start ≤ 10^9; 1 ≤ N ≤ 100000; 0 ≤ vị trí ≤ 10^9.
Một số nguyên: tổng quãng đường di chuyển (kể cả quãng nhảy vòng).
Ví dụ:
Đầu vào:
50 U 7
82 170 43 140 24 16 190
Đầu ra:
341
Giải thích:
Đang tải editor...