Di chuyển thùng hàng (THT B, C1 & C2 Vòng KVMT 2022)

Trên một khoảng sân rộng có chiều dài \(L\), người ta đặt một số thùng hàng. Dưới đây là một hình ảnh về sân có chiều dài \(10\), có chứa \(5\) thùng hàng \(A, B, C, D, E\).

Hoàng muốn di chuyển các thùng hàng để tạo ra một khoảng sân có độ rộng tối thiểu là \(W\) để có thể chơi bóng cùng các bạn của mình. Mỗi bước, Hoàng có thể di chuyển một thùng hàng sang trái hoặc sang phải nếu vị trí vẫn nằm trong sân và vị trí đó còn trống.

Với ví dụ trên, khi Hoàng cần một khoảng sân độ rộng tối thiểu là \(3\), thì dưới đây là một cách di chuyển các thùng hàng. Cách di chuyển này cần \(2\) bước di chuyển.

Nếu Hoàng cần một khoảng sân độ rộng tối thiểu là \(4\), thì dưới đây là một cách di chuyển các thùng hàng. Cách di chuyển này cần \(4\) bước di chuyển.

Nếu Hoàng cần một khoảng sân độ rộng tối thiểu là , thì dưới đây là một cách di chuyển các thùng hàng. Cách di chuyển này cần bước di chuyển.

Yêu cầu: Cho vị trí ban đầu của các thùng hàng và giá trị \(W\), bạn hãy giúp Hoàng tính số bước di chuyển ít nhất.

Input

  • Dòng đầu tiên ghi số \(T\) là số bộ dữ liệu \((T \leq 10)\)
  • \(T\) dòng tiếp theo, mỗi dòng mô tả một bộ dữ liệu. Mỗi dòng chứa một xâu kí tự \(s\) mô tả sân có độ dài không quá \(5 \times 10^5\) và số nguyên dương \(W\) cách nhau bởi dấu cách. Xâu kí tự \(s\) chỉ gồm dấu chấm hoặc kí tự X, trong đó kí tự chấm thể hiên vị trí sân không có thùng hàng và kí tự X thể hiện vị trí sân có thùng hàng.

Output

  • In ra \(T\) dòng, mỗi dòng chứa một số nguyên là ra số lần di chuyển các thùng hàng ít nhất.

Scoring

  • Subtask #1 (\(10\%\) số điểm): Độ dài xâu \(s\) không vượt quá \(50\) và có không quá \(3\) thùng hàng
  • Subtask #2 (\(10\%\) số điểm): Độ dài xâu \(s\) không vượt quá \(20\)
  • Subtask #3 (\(10\%\) số điểm): Độ dài xâu \(s\) không vượt quá \(50\)
  • Subtask #4 (\(10\%\) số điểm): Độ dài xâu \(s\) không vượt quá \(200\)
  • Subtask #5 (\(25\%\) số điểm): Độ dài xâu \(s\) không vượt quá \(5000\)
  • Subtask #6 (\(20\%\) số điểm): Độ dài xâu \(s\) không vượt quá \(50000\)
  • Subtask #7 (\(15\%\) số điểm): Không có ràng buộc gì thêm

Example

Test 1

Input
4 
.XX..XX.X. 2
.XX..XX.X. 3
.XX..XX.X. 4
.XX..XX.X. 5
Output
0
2
4
7
...Xem thêm

Ước Nguyên Tố (Thi thử MTTN 2022)

Giang hồ đồn đại rằng

Ngành IT Việt Nam hiện nay ở đầu của sự phát triển. Có thể nói IT là vua của các nghề. Vừa có tiền, có quyền. Vừa kiếm được nhiều $ lại được xã hội trọng vọng.

Vì thế Liên Hợp Quốc - United Nations hay còn gọi là UN đã mời các chuyên gia để tổ chức kì thi UN Hacker Jam với quy mô sánh với các kì thi lập trình thường niên nổi tiếng như Google Code JamFacebook Hackercup. Bạn Bảo Anh - một coder kì cựu đã tham gia cuộc thi và xuất sắc đánh bại nhiều đối thủ mạnh trên thế giới như tourist, tourguide, ... và lọt vào vòng cuối cùng. Tuy nhiên anh ấy mãi vẫn không thể chiến thắng trước bàn tay trái.. - à không, là phân thân của chính mình. Chả là trước khi thi anh ta đã phân thân chi thuật để giảm công lực xuống 1 nửa, với mục đích giao lưu học hỏi là chủ yếu, ai ngờ thắng luôn nên đành phải thi đấu với cái bóng của bản thân. Hội đồng UN thấy vậy chỉ biết thở dài ngao ngán, đành tổ chức một trò chơi trí tuệ để Bảo Anh tự xử. Trò chơi như sau :

Đầu tiên, UN sẽ đưa ra số \(N > 1\). Bảo Anh và cái bóng của anh ấy sẽ thay phiên nhau chơi từng lượt. Tại lượt của một người chơi, người đó phải chia \(N\) cho lũy thừa \(p^k (k \ge 1)\) với \(p\) nguyên tố và \(p^k\) là ước của \(N\). Người đưa số \(N\) về giá trị \(1\) là người chiến thắng. Bảo Anh biết rằng đối thủ cũng đi toàn nước tối ưu như mình vậy, vì thế với \(N\) bất kì anh ấy luôn biết được người thắng là người đi trước hay người đi sau. Nói cách khác - trò chơi đã kết thúc trước cả khi nó bắt đầu. UN cũng biết trò này quá đơn giản nên đã tăng độ khó, đặt câu hỏi như sau : Trò chơi sẽ kết thúc sau bao nhiêu lượt? Người chơi biết mình thua sẽ cố gắng câu giờ hết sức có thể, ngược lại người sẽ thắng muốn trò chơi kết thúc càng sớm càng tốt. Bảo Anh nghĩ ngợi một lúc và đã có đáp án nhưng không tự tin lắm vì cái bóng của anh ta đang giở một nụ cười hết sức nham hiểm (chỉ có bản chính mới phải suy nghĩ câu trả lời đúng thôi chứ bản sao chỉ việc gây hoang mang tinh thần là xong). "Chắc chưa?" - một câu hỏi đơn giản đã làm coder kì cựu nhất phải toát mồ hôi hột. Vì thế xin nhờ các bạn thí sinh mách nước cho Bảo Anh bằng cách đưa ra đáp án đúng nhé 😉.

Input

  • Gồm một dòng duy nhất chứa số nguyên dương \(N > 1\)

Output

  • Gồm một dòng duy nhất chứa đáp án của bài toán

Scoring

  • Subtask #1 (\(5\%\) số điểm): \(N = p^3, N \le 10^{18}, p\) là SNT.
  • Subtask #2 (\(15\%\) số điểm): \(N = 6^x\) với \(1 \le x \le 20\)
  • Subtask #3 (\(35\%\) số điểm): \(N \le 1052004\)
  • Subtask #4 (\(50\%\) số điểm): \(N \le 1234567987654321\)

Example

Test 1

Input
18
Output
3
...Xem thêm

Bộ ba (THT C1, C2 & B Vòng KVMN 2022)

Cho các số nguyên không âm \(a_1, b_1, a_2, b_2, a_3, b_3\). Hãy đếm số bộ ba \((x, y, z)\) thõa mãn:

  • \(a_1 \leq x \leq b_1\)
  • \(a_2 \leq y \leq b_2\)
  • \(a_3 \leq z \leq b_3\)
  • \(x \cdot y = z\).

Input

  • Dòng đầu tiên chứa 6 số nguyên không âm \(a_1, b_1, a_2, b_2, a_3, b_3\), các số có giá trị không vượt quá \(10^9\).

Output

  • Ghi ra một số duy nhất là số bộ thỏa mãn đếm được.

Scoring

  • Subtask \(1\) (\(8\%\) số điểm): \(b_1, b_2, b_3 \leq 300\);
  • Subtask \(2\) (\(12\%\) số điểm): \(b_1, b_2, b_3 \leq 3000\);
  • Subtask \(3\) (\(20\%\) số điểm): \(b_1, b_2, b_3 \leq 10^5\);
  • Subtask \(4\) (\(20\%\) số điểm): \(b_1, b_2, b_3 \leq 10^7\);
  • Subtask \(5\) (\(16\%\) số điểm): \(a_1 = b_1\);
  • Subtask \(6\) (\(24\%\) số điểm): không có ràng buộc gì thêm.

Example

Test 1

Input
6 8 4 5 27 35
Output
4
Note

Có 4 bộ thỏa mãn là:
(6, 5, 30), (7, 4, 28),
(7, 5, 35), (8, 4, 32).

...Xem thêm

Cờ vua vô hạn 2

Trên một bàn cờ vua có chiều dài và chiều rộng vô hạn, xuất hiện \(n\) con vua đánh số từ \(1\) tới \(n\): \(K = \{(x_1, y_1), (x_2, y_2), \dots, (x_n, y_n) \}\).

Nếu các bạn chưa biết chơi cờ, con vua mỗi bước có thể đi sang 8 ô kề nó, tính cả đi chéo.

\(n\) con vua này bầu ra \(1\) vị vua tối cao đứng tại vị trí \((x_i, y_i)\), có sức mạnh của là tổng của từng số bước đi tối thiểu để con vua tối cao này có thể đi tới mỗi con vua trong số \(n-1\) con còn lại.

Một cách quy củ, gọi \(d(i, j)\) là số bước đi tối thiểu để vua thứ \(i\) có thể đi tới vua thứ \(j\) (mặc định \(d(i, i) = 0\)). Nếu vua tối cao là vua thứ \(x\) thì sức mạnh của nó là \(\sum_{i=1}^{n} d(x, i)\).

\(n - 1\) con vua còn lại không muốn bầu ra vị tối cao lộng hành, nên muốn sức mạnh của nó nhỏ nhất có thể. Bạn hãy giúp họ chọn ra vị vua tối cao anh minh yếu ớt này, và lượng sức mạnh tối thiểu nhé.

Input

  • Dòng đầu tiên gồm số \(n\)
  • \(n\) dòng sau lần lượt gồm \(x_i, y_i\) là vị trí của con vua thứ \(i\).

Output

  • Dòng đầu tiên gồm 2 số, là sức mạnh tối thiểu của con vua tối cao, và số con vua thỏa mãn sức mạnh có thể được bầu.
  • Dòng sau in ra chỉ số các con vua thỏa mãn.

Example

Test 1

Input
4 
0 0 
1 3 
4 1 
3 -2
Output
10 2
1 3
...Xem thêm