Hàng đợi siêu thị
Xem dạng PDF
Gửi bài giải
Điểm:
600,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Có ~N~ người đang xếp hàng mua vé tại siêu thị. Người thứ ~i~ (chỉ số bắt đầu từ ~0~ đến ~N-1~) muốn mua ~A[i]~ vé.
Mỗi giây, người đứng ở đầu hàng sẽ mua đúng 1 vé.
- Nếu họ vẫn cần mua thêm vé, họ sẽ quay vòng xuống đứng ở cuối hàng.
- Nếu họ đã mua đủ số vé mong muốn, họ sẽ rời khỏi hàng.
Hỏi sau bao nhiêu giây thì người ban đầu đứng ở vị trí thứ ~K~ (chỉ số ~0~) mua xong toàn bộ số vé của mình?
Dữ liệu
- Dòng đầu tiên chứa hai số nguyên ~N~ và ~K~ (~1 \le N \le 10^5~, ~0 \le K < N~).
- Dòng thứ hai chứa ~N~ số nguyên ~A[0], A[1], ..., A[N-1]~ (~1 \le A[i] \le 10^9~).
Kết quả
In ra một số nguyên duy nhất là tổng số giây cần thiết để người thứ ~K~ mua xong vé. (Lưu ý: Kết quả có thể rất lớn, hãy sử dụng kiểu số nguyên 64-bit).
Ví dụ
Input 1
3 2
2 3 2
Output 1
6
Giải thích 1
- Giây 1: Người 0 mua 1 vé. Hàng đợi:
[3, 2, 1] - Giây 2: Người 1 mua 1 vé. Hàng đợi:
[2, 1, 2] - Giây 3: Người 2 (K) mua 1 vé. Hàng đợi:
[1, 2, 1] - Giây 4: Người 0 mua 1 vé và rời hàng. Hàng đợi:
[2, 1] - Giây 5: Người 1 mua 1 vé. Hàng đợi:
[1, 1] - Giây 6: Người 2 (K) mua 1 vé cuối cùng và rời hàng. Quá trình kết thúc tại giây thứ 6.
Input 2
4 0
5 1 1 1
Output 2
8
Bình luận