Mua hàng

Đề bài

Mô tả

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à Ai (1AiM) và với mỗ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ứ iTi phút. Thời gian để di chuyển giữa hai quầy hàng liền kề là 1 phút.

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ì bán 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;

Dữ liệu vào

  • Dòng đầu tiên gồm hai số nguyên dương N, M (1MN105).
  • Dòng thứ hai gồm N số nguyên dương A1,A2,...,AN (1AiM; 1iN). 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 T1,T2,...,TN (1Ti109; 1iN).

Dữ liệu ra

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.

Ràng buộc

  • 1MN105
  • 1AiM
  • 1Ti109
  • 10% số test: M=1
  • 30% số test: M=N
  • 30% số test: N2000
  • 30% số test: không có ràng buộc gì thêm.

Ví dụ

Input Output Giải thích
5 2
1 2 1 1 2
5 10 6 8 3
11 Cách mua sao cho tổng số phút nhỏ nhất: 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.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0