HSG9 Hà Nội 2025 - Mua hàng
Xem dạng PDF
Gửi bài giải
Điểm:
50,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Input:
stdin
Output:
stdout
Người đăng:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

An đi mua ~M~ sản phẩm khác nhau, các sản phẩm được đánh số từ 1 đến ~M~. Ở chợ có ~N~ quầy hàng xếp thành hàng ngang được đánh số từ 1 đến ~N~, từ trái sang phải. Quầy hàng thứ ~i~ chỉ bán một loại sản phẩm duy nhất là ~A_i~ (~1 \le A_i \le M~) và với mỗi loại sản phẩm trong ~M~ sản phẩm luôn tồn tại ít nhất một quầy hàng bán sản phẩm loại đó. Thời gian để An mua sản phẩm tại quầy hàng thứ ~i~ là ~T_i~ phút. Thời gian để đi chuyển giữa hai quầy hàng liền kề là 1 phút.
Yêu cầu: Tìm cách mua hàng sao cho:
- Mua đủ ~M~ sản phẩm theo đúng thứ tự 1, 2, 3, ..., ~M~. Có thể bắt đầu từ một quầy hàng bất kỳ để mua sản phẩm 1;
- Thời gian tính từ lúc bắt đầu mua sản phẩm 1 đến khi mua xong sản phẩm ~M~ là nhỏ nhất.
Input
- Dòng đầu tiên gồm hai số nguyên dương ~N, M~ (~1 \le M \le N \le 10^5~);
- Dòng thứ hai gồm ~N~ số nguyên dương ~A_1, A_2, ..., A_N~ (~1 \le A_i \le M; 1 \le i \le N~). Dữ liệu đảm bảo các số từ 1 đến ~M~ xuất hiện ít nhất một lần;
- Dòng thứ ba gồm ~N~ số nguyên dương ~T_1, T_2, ..., T_N~ (~1 \le T_i \le 10^9; 1 \le i \le N~).
Output
Một số nguyên duy nhất là số phút nhỏ nhất để An mua ~M~ sản phẩm theo yêu cầu đề bài.
Sample Input 1
5 2
1 2 1 1 2
5 10 6 8 3
Sample Output 1
11
Cách mua sao cho tổng số phút nhỏ nhất là:
- Mua sản phẩm 1 ở quầy hàng thứ 3 mất 6 phút;
- Di chuyển sang quầy hàng thứ 5 mất 2 phút;
- Mua sản phẩm 2 ở quầy hàng thứ 5 mất 3 phút.
Tổng số phút là: ~6 + 2 + 3 = 11~.
Ràng buộc
- Có 10% số test ứng với 10% số điểm của bài thỏa mãn: ~M = 1~;
- 30% số test khác ứng với 30% số điểm của bài thỏa mãn: ~M = N~;
- 30% số test khác ứng với 30% số điểm của bài thỏa mãn: ~N \le 2000~;
- 30% số test còn lại ứng với 30% số điểm của bài không có ràng buộc gì thêm.
Bình luận