Java Bài 5.40: Ngọn nến
Có \(N\) ngọn nến được đặt trên một đường thẳng số. Ngọn nến thứ \(i\) từ trái sang phải được đặt tại tọa độ \(x_i\). Ở đây, \(x_1 < x_2 < ... < x_N\).
Ban đầu, không có ngọn nến nào đang cháy. Snuke quyết định thắp sáng \(K\) trong số \(N\) ngọn nến.
Hiện tại, anh ấy đang ở tọa độ \(0\). Anh ấy có thể di chuyển sang trái và phải dọc theo đường thẳng với tốc độ \(1\). Anh ấy cũng có thể thắp sáng một ngọn nến khi ở cùng vị trí với ngọn nến đó, trong thời gian không đáng kể.
Tìm thời gian tối thiểu cần thiết để thắp sáng \(K\) ngọn nến.
Ràng buộc
1 ≤ \(N\) ≤ 10^5 1 ≤ \(K\) ≤ \(N\) \(x_i\) là số nguyên. |\(x_i\)| ≤ 10^8 \(x_1 < x_2 < ... < x_N\)
INPUT FORMAT
Input được cung cấp từ Standard Input theo định dạng sau:
N K
x_1 x_2 ... x_N
OUTPUT FORMAT
In ra thời gian tối thiểu cần thiết để thắp sáng \(K\) ngọn nến.
Ví dụ:
Input 1
5 3
-30 -10 10 20 50
Output 1
40
Anh ta nên di chuyển và thắp sáng các nến như sau:
Di chuyển từ tọa độ \(0\) đến \(-10\). Thắp sáng ngọn nến thứ hai từ trái sang. Di chuyển từ tọa độ \(-10\) đến \(10\). Thắp sáng ngọn nến thứ ba từ trái sang. Di chuyển từ tọa độ \(10\) đến \(20\). Thắp sáng ngọn nến thứ tư từ trái sang.
Input 2
3 2
10 20 30
Output 2
20
Input 3
1 1
0
Output 3
0
Có thể có một ngọn nến được đặt tại tọa độ \(0\).
Input 4
8 5
-9 -7 -4 -3 1 2 3 4
Output 4
10
Lời giải bài tập này: Tại đây
Group giải đáp thắc mắc: Lập trình 24h
Fanpage CLB: CLB lập trình Full House- Việt Nam
Youtube: CLB Lập Trình Full House
Comments