{"trustable":false,"prependHtml":"\u003cscript\u003e\n window.katexOptions \u003d {\n delimiters: [\n {left: \u0027\\\\(\u0027, right: \u0027\\\\)\u0027, display: false},\n ]\n };\n\u003c/script\u003e\n","sections":[{"title":"","value":{"format":"HTML","content":"\u003cp\u003eMột công cụ xử lý chuỗi nọ cho phép người lập trình chia một chuỗi thành hai phần. Công cụ này sẽ sử dụng n đơn vị thời gian để chia một chuỗi có n ký tự thành hai phần. Nếu lập trình viên muốn chia một chuỗi thành nhiều phần, thứ tự thực hiện việc chia có thể ảnh hưởng đến tổng thời gian sử dụng. \u003c/p\u003e\u003cp\u003e\n\nVí dụ, giả sử chúng ta muốn chia một chuỗi 20 ký tự sau các ký tự 3, 8 và 10 (đánh số các ký tự theo thứ tự tăng dần từ đầu bên trái, bắt đầu từ 1). Nếu việc chia được thực hiện theo thứ tự từ trái sang phải, thì việc chia đầu tiên mất 20 đơn vị thời gian, việc chia thứ hai mất 17 đơn vị thời gian và việc chia thứ ba mất 12 đơn vị thời gian, tổng cộng là 49 đơn vị thời gian (xem ví dụ bên dưới). Nếu việc chia được thực hiện theo thứ tự từ phải sang trái, thì việc chia đầu tiên mất 20 đơn vị thời gian, việc chia thứ hai mất 10 đơn vị thời gian và việc chia thứ ba mất 8 đơn vị thời gian, tổng cộng là 38 đơn vị thời gian.\u003c/p\u003e\n\n\u003cp\u003eChi phí của việc chia theo thứ tự từ trái sang phải:\n\u003c/p\u003e\u003cpre\u003ethisisastringofchars (original)\nthi sisastringofchars (cost:20 units)\nthi sisas tringofchars (cost:17 units)\nthi sisas tr ingofchars (cost:12 units)\n Total: 49 units.\u003c/pre\u003e\u003cp\u003e\u003c/p\u003e\n\u003cp\u003eChi phí của việc chia theo thứ tự từ phải sang trái:\n\u003c/p\u003e\u003cpre\u003ethisisastringofchars (original)\nthisisastr ingofchars (cost:20 units)\nthisisas tr ingofchars (cost:10 units)\nthi sisas tr ingofchars (cost: 8 units)\n Total: 38 units.\u003c/pre\u003e\u003cp\u003e\u003c/p\u003e\n\u003cp\u003e\u003cb\u003eNhập:\u003c/b\u003e\u003c/p\u003e\n\u003cp\u003eNhập vào một nhiều truy vấn: \u003c/p\u003e\u003cp\u003e\n\nTrong mỗi truy vấn, dòng đầu tiên chứa 2 số nguyên N (2≤N≤10000000) và M (1≤M≤1000, M≤N-1). N là độ dài ban đầu của chuỗi và M là số lần chia. \u003c/p\u003e\n\n\u003cp\u003eCác dòng tiếp theo chứa M số nguyên Mi (1≤Mi≤N-1) theo thứ tự tăng dần đại diện cho vị trí chia từ đầu bên trái của chuỗi.\u003c/p\u003e\n\n\u003cp\u003e\u003cb\u003eĐầu ra:\u003c/b\u003e\u003c/p\u003e\n\u003cp\u003eĐối với mỗi truy vấn, in ra trên một dòng chi phí ít nhất để thực hiện tất cả các việc chia.\u003c/p\u003e\n\n\u003ctable class\u003d\"vjudge_sample\"\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e20 3\n3 8 10\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e37\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}}]}