Số đặc biệt (HSG9 QT 2023)
Một số nguyên dương X gọi là số đặc biệt nếu thỏa mãn hai điều kiện sau:
- X là số nguyên tố
- Số lượng chữ số chẵn và số lượng chữ số lẻ trong X là khác nhau
Yêu cầu: Cho một dãy số nguyên gồm N phần tử A_1, A_2, ..., A_N. Hãy đếm số lượng phần tử là số đặc biệt của dãy A
Input, Output và Subtasks
Input: (SODB.inp)
- Dòng thứ nhất ghi số nguyên dương N
- Dòng thứ hai chứa số nguyên A_1, A_2, ..., A_N. Các số viết cách nhau một dấu cách
Output: (SODB.out)
- Một số nguyên duy nhất là số lượng số đặc biệt đếm được
Subtasks
- Subtask 1 (60\%): 1\le N\le 300; 1\le A_i\le 5\cdot 10^4
- Subtask 2 (20\%): 1\le N\le 300; |A_i|\le 10^{12}
- Subtask 3 (20\%): 1\le N\le 2\cdot 10^6; |A_i|\le 2\cdot 10^6
Sample
Input (SODB.inp)
5
121 311 122 23 241
Output (SODB.out)
2
Note
Dãy A có 2 số đặc biệt là 311 và 241
TLEoj Cup Final Day 1 - Đồ thị xor
Cho một đồ thị có 2^n đỉnh được đánh số từ 0 đến 2^n - 1 và một dãy số nguyên a_1, a_2, ..., a_m. Tồn tại cạnh nối giữa đỉnh i và j khi và chỉ khi i\ xor\ j = a_k với 1 \le k \le m. Cho q truy vấn, mỗi truy vấn gồm hai số nguyên u, v, nhiệm vụ của bạn là tìm độ dài đường đi ngắn nhất từ đỉnh u đến đỉnh v.
Input, Output và Subtask
Input (XORG.inp)
- Dòng đầu tiên gồm ba số nguyên dương n, m, q (n \le 60, m \le 20, q \le 10^6)
- Dòng thứ hai gồm m số nguyên dương a_1, a_2, ..., a_m.
- q dòng tiếp theo, mỗi dòng gồm hai số nguyên dương u, v,
Output (XORG.out)
- Gồm q dòng, dòng thứ i là kết quả của truy vấn thứ i. Nếu không tồn tại đường đi giữa hai đỉnh u, v, in ra -1.
Subtask
- 20\% số điểm có n \le 10.
- 20\% số điểm khác có n \le 20.
- 20\% số điểm khác có m = 1.
- 20\% số điểm khác có m = 2.
- 20\% số điểm còn lại không có giới hạn gì thêm.
Sample 1
Input (XORG.inp)
3 2 4
5 3
1 7
3 5
1 5
0 3
Output (XORG.out)
2
2
-1
1
Notes
Đồ thị sẽ có dạng như sau

Input (XORG.inp) |
Output (XORG.out) |
Note |
|---|---|---|
3 2 4 |
n = 3, m = 2, q = 4 | |
5 3 |
a = (5, 3) | |
1 7 |
2 |
Đường đi ngắn nhất là 1 \rightarrow 2 \rightarrow 7. |
3 5 |
2 |
Đường đi ngắn nhất là 3 \rightarrow 6 \rightarrow 5. |
1 5 |
-1 |
Không có đường đi từ 1 đến 5. |
0 3 |
1 |
Có đường đi trực tiếp từ 0 đến 3. |
TLEoj Contest #03 - Giá trị MEX cuối cùng
Trong dãy số A, ta định nghĩa mex(A) là số nguyên dương nhỏ nhất không xuất hiện trong dãy A. VD: mex(2,1,3,69,420)=4; mex(2,3,4,5)=1
Bạn được cho một dãy số a gồm n phần tử có giá trị 1 và m phần tử có giá trị 2. Bạn được phép thực hiện hành động sau: Chọn 1 dãy con của dãy a bao gồm tối thiểu hai phần tử, sau đó xóa tất cả phần tử trong dãy con đó, cuối cùng thêm lại vào dãy a giá trị mex của dãy con đã xóa vừa rồi. Hành động này được thực hiện đến khi còn chính xác một phần tử. Dễ dàng nhận thấy sau một số lượng hành động nhất định dãy sẽ còn chính xác một phần tử. Nhiệm vụ của bạn là tìm ra giá trị tối đa của phần tử cuối cùng sau khi dãy còn đúng 1 phần tử.
Input, Output và Subtasks
Input
- Dòng thứ nhất gồm 1 số t là số testcase (1\le t\le 10^4)
- Sau đó là t dòng, mỗi dòng nhập 2 số n,m (0\le n,m\le 10^{18},n+m>0)
Output
- Xuất ra t dòng, mỗi dòng gồm 1 số tương ứng với kết quả từng testcase.
Scoring
- Subtask 1 (20\%): t\le 5;n,m\le 10
- Subtask 2 (20\%): n,m\le 10^3
- Subtask 3 (60\%): Không có ràng buộc gì thêm
Sample
Input
1
1 1
Output
3
Tặng quà (Kiên Giang 2025)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
stdin - Tệp ra:
stdout - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
A problem with a sussy content
Đây là một câu chuyện có thật, tuy nhiên đã được biển đổi một chút.
Bạn cũng nên thử bài này
TLEoj được nhiều người biết đến là một trang chấm bài trực tuyến với vô vàng bài tập thú vị và những con người thân thiện. Ngoài ra, TLEoj cũng thường xuyên tổ chức các cuộc thi lập trình để những người nơi đây học hỏi thêm nhiều điều mới lạ hơn. Sau những cuộc thi ấy là một nhóm setter chăm chỉ, thường nghĩ ra những bài tập hay ho, thú vị cho mọi người nơi đây làm và của chúng ta là một trong số đó.
Sau một giấc ngủ thoải mái, tỉnh dậy và kiểm tra tin nhắn của mình. Bỗng cậu thấy có một tin nhắn được gửi đến với nội dung như sau:
Nội dung tin nhắn
- Nhóm setter TLEoj bọn bây quá gà, set toàn bài dở mà bày đặt tổ chức contest. Toàn mấy bài rách không ai thèm làm.
Vì là một trong những admin chính của TLEoj, đã rất bực mình và cay cú với người gửi tin nhắn trên. Thế là cậu bắt tay vào làm ngay một bài siêu khó để gửi lại cho người ấy như là một thử thách. Bài ấy có nội dung được tiết lộ như sau.
Nội dung bài
Cho n điểm cùng với 1 điểm O trên mặt phẳng tọa độ, điểm thứ i có tọa độ là (x_i, y_i), điểm O có tọa độ là (x_o, y_o) và các tọa độ sẽ phân biệt với nhau. Giá trị D của 2 điểm (x_i, y_i), (x_j, y_j) là khoảng cách ngắn nhất giữa đường thẳng cắt hai điểm đó và điểm O.
Nhiệm vụ của bạn là tìm giá trị D của 2 điểm bất kỳ trong n điểm trên sao cho nó có giá trị lớn thứ n.
Tuy là người ra bài nhưng lại không thể nào giải được bởi lẽ nó quá khó. Là một con người thân thiện ở TLEoj, bạn hãy giúp nhé.
Input, Output and Scoring
Input
- Ba số nguyên dương n, x_o, y_o (3 \le n \le 2 \times 10^5; -10^6 \le x_o, y_o \le 10^6).
- n dòng tiếp theo, dòng thứ i chứa tọa độ điểm i là (x_i, y_i) (-10^6 \le x_i, y_i \le 10^6).
Output
- In ra giá trị D và lấy 8 chữ số thập phân đầu tiên.
- Kết quả của bạn sẽ được chấp nhận nếu chênh lệch giữa nó và đáp án không quá 10^{-8}.
Scoring
- Subtask 1 (30\%): 1 \le n \le 2 \times 10^3.
- Subtask 2 (70\%): Không giởi hạn gì thêm.
Example
Input
3 1 2
-3 4
5 -1
3 6
Output
0.42399824
Note
- Ta có thể thấy khoảng cách từ O đến đường thẳng AB là lớn thứ 3.
- Hình ở dưới có 1 chút sai lệch mà mình chỉnh không được dẫn đến kết quả khác ở trên.

Độ mạnh của xâu (Tiền Giang 2024)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
STRONG.INP - Tệp ra:
STRONG.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Thang nhiệt độ (Quảng Ninh 2025)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
TEMP.INP - Tệp ra:
TEMP.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Bedan Contest #02 - B - Qua cầu
Đây mới là bản dễ.
Sau một ngày dài đi học mệt mỏi, quyết định chơi trò chơi điện tử yêu thích của cậu ấy. Trò chơi khá đơn giản, chỉ cần điều khiển nhân vật vượt qua các chương ngại vật của mỗi màng chơi.
Sau khoảng 69420s chơi, cuối cùng đã đến được màng cuối cùng. Ở màng chơi này, cậu cần phải điều khiển nhân vật của mình vượt qua 1 cây cầu. Cây cầu này có tất cả là n ô và ô thứ i sẽ có a_i điểm. Tại mỗi bước đi, có thể nhảy sang bất kì ô nào miễn vị trí của ô đó lớn hơn vị trí của ô mà cậu bắt đầu nhảy. Khi vượt qua cây cầu, tích số điểm trên những ô mà đã điều khiển nhân vật của mình nhảy lên phải là 1 số chính phương thì mới chiến thắng.
thắc mắc có bao nhiêu cách để điều khiển nhân vật của cậu vượt qua cây cầu để cậu giành được chiến thắng. Bạn hãy tính giúp nhé.
Input, Output and Scoring
Input (bridge.inp)
- Số nguyên dương n (1 \le n \le 5 \times 10^3).
- Dãy a gồm n phần tử a_1, a_2, ..., a_n (1 \le a_i \le n).
Output (bridge.out)
- Với mỗi dòng, hãy in ra kết quả sau khi chia lấy dư cho 1234567891.
Scoring
- Subtask 1 (15\%): 1 \le n \le 20.
- Subtask 2 (35\%): 1 \le n \le 70.
- Subtask 3 (50\%): Không giới hạn gì thêm.
Example
Input
4
2 4 2 1
Output
7
Note
- Có 7 cách điều khiển là đi lên các ô (2), (4), (1, 3), (2, 4), (1, 2, 3), (1, 3, 4), (1, 2, 3, 4).
Mật độ xuất hiện cao (HSG9 NA 2023)
Trò chơi chọn bóng mà nhóm của Tuấn thiết kế được bạn bè và giáo viên trong trường đánh giá rất cao. Sau thành công này, Tuấn cùng nhóm bạn tập trung học tập để thi vào lớp chuyên tin của một trường chuyên danh giá trong tỉnh. Những bài tập mà Tuấn làm đều yêu cầu kỹ năng thiết kế thuật toán chuyên nghiệp. Một trong các bài tập mà bạn ấy đang xây dựng thuật toán có nội dung như sau:
Cho chuỗi kí tự S chỉ gồm các kí tự chữ cái latinh thường từ a, ..., z. Một chuỗi con X (gồm các kí tự ở vị trí liên tiếp) của S được gọi là một chuỗi có mật độ xuất hiện cao nếu trong chuỗi X có một kí tự mà số lần xuất hiện của kí tự đó nhiều hơn số các kí tự còn lại trong chuỗi X.
Ví dụ, chuỗi S=abbbabced, chuỗi con X=abbbabc là một chuỗi có mật độ xuất hiện cao, vì có kí tự b xuất hiện 4 lần, số các kí tự còn lại là 3. Nếu X=abbbabce, kí tự xuất hiện nhiều lần nhất 4 lần (kí tự b) và số kí tự còn lại là 4. Do vậy chuỗi X=abbbabce không phải là một chuỗi có mật độ xuất hiện cao.
Yêu cầu: Tìm một chuỗi con X (gồm các kí tự ở vị trí liên tiếp) của S là một chuỗi có mật độ xuất hiện cao và độ dài lớn nhất.
Tuấn cũng đã có thuật toán của mình, còn bạn thì sao? Hãy lập trình giải bài toán trên để đối chiếu kết quả nhé.
Input, Output và Subtasks
Input: (MatDo.inp)
- Gồm một chuỗi kí tự S chỉ gồm các kí tự chữ cái latinh thường và có độ dài không lớn hơn 2\times 10^5.
Output: (MatDo.out)
- Gồm một số nguyên duy nhất là độ dài của chuỗi X tìm được.
Subtasks
- Có 30\% số test ứng với 30\% số điểm thỏa mãn:
Chuỗi S chỉ gồm các kí tự thuốc tập 3 kí tự \{a,b,c\} và độ dài chuỗi S không quá 2\times 10^5. - Có 30\% số test ứng với 30\% số điểm thỏa mãn:
Chuỗi S chỉ gồm các kí tự chữ cái latinh thường và độ dài chuỗi S không quá 2\times 10^3. - Có 40\% số test ứng với 40\% số điểm thỏa mãn:
Chuỗi S chỉ gồm các kí tự chữ cái latinh thường và độ dài chuỗi S không quá 2\times 10^5.
Sample
Input (MatDo.inp)
abbbabced
Output (MatDo.out)
7
Notes
Ta có thể chọn chuỗi X thỏa mãn là:
X=abbbabc hoặc X=bbbabce.
Sample
Input (MatDo.inp)
ababab
Output (MatDo.out)
5
Notes
Ta có thể chọn chuỗi X thỏa mãn là:
X=ababa vì kí tự a xuất hiện 3 lần, số các kí tự còn lại là 2.
hoặc X=babab vì kí tự b xuất hiện 3 lần, số các kí tự còn lại là 2.
Sample
Input (MatDo.inp)
abc
Output (MatDo.out)
1
Notes
Ta có thể chọn chuỗi X thỏa mãn là:
X=a vì kí tự a xuất hiện 1 lần, số các kí tự còn lại là 0.
hoặc X=b, X=c đều thỏa mãn.
Số X nhỏ nhất (Đắk Lắk 2024)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
Bàn phím - Tệp ra:
Màn hình - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Trò chơi (Bà Rịa Vũng Tàu 2023)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
GAME.INP - Tệp ra:
GAME.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Tìm số (Thanh Hóa 2025)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
CAU3.INP - Tệp ra:
CAU3.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
TLE-oj Cup Round 8 - Gcd về 0
Bạn được cho 2 số n và m. Mỗi bước bạn được trừ n cho ước chung lớn nhất của n và m. Nhiệm vụ của bạn là đếm số bước để đưa n về 0
Input, Output và Subtasks
Input: (GCDTOZERO.inp)
- Dòng đầu tiên gồm 2 số n và m (n\le 10^{18},m\le 10^{16})
Output: (GCDTOZERO.out)
- Một số duy nhất là kết quả của bài toán
Subtasks
- Subtask 1 (10\%): n\le 10^6.
- Subtask 2 (10\%): n\le 10^8.
- Subtask 3 (10\%): n\le 10^{10}.
- Subtask 4 (15\%): n\le 10^{12}.
- Subtask 5 (15\%): n\le 10^{14}.
- Subtask 6 (15\%): n\le 10^{16}.
- Subtask 7 (25\%): Không có ràng buộc gì thêm
Sample
Input (GCDTOZERO.inp)
10 3
Output (GCDTOZERO.out)
4
TLE-oj Cup Round 4 - Quân Mã k chiều
Trên một bàn cờ vua k chiều, với kích thước được định trước bởi một dãy số nguyên a_1, a_2, ..., a_k, với ý nghĩa là ở chiều thứ i có a_i ô, có đặt một quân Mã ở vị trí (b_1, b_2, ..., b_k).
Trong mỗi nước đi, quân Mã sẽ thực hiện thao tác sau:
- Chọn hai chiều i và j.
- Thực hiện nước đi hình chữ L như trên bàn cờ hai chiều.
Tổng quát hóa, quân Mã có thể đi được đến ô (c_1, c_2, ..., c_k) khi và chỉ khi thỏa mãn hai điều kiện sau:
- |c_1 - b_1| + |c_2 - b_2| + ... + |c_k - b_k| = 3.
- max(|c_1 - b_1|, |c_2 - b_2|, .., |c_k - b_k|) = 2.
Đếm số ô mà quân Mã đến được trong một nước đi.
Input, Output và Subtasks
Input: (KDKNIGHT.inp)
- Dòng đầu tiên gồm số nguyên dương 2 \le k \le 10^5 là số chiều của bàn cờ.
- Dòng tiếp theo gồm k số nguyên dương a_1, a_2, ..., a_k, a_i \le 10^9 mô tả kích thước của bàn cờ.
- Dòng tiếp theo gồm k số nguyên dương b_1, b_2, ..., b_k, b_i \le a_i mô tả vị trí của quân Mã.
Output: (KDKNIGHT.out)
- Một dòng duy nhất là kết quả bài toán sau khi chia lấy dư cho 10^9+7.
Subtasks
- Subtask 1 (20\%): k = 2.
- Subtask 2 (20\%): min(a_i - b_i, b_i) \ge 3.
- Subtask 3 (30\%): k \le 1000, a_i \le 1000.
- Subtask 4 (30\%): Không có giới hạn gì thêm.
Sample
Input (KDKNIGHT.inp)
3
3 3 3
1 2 3
Output (KDKNIGHT.out)
6
Notes
Các ô đi được là: (2, 2, 1); (3, 2, 2); (3, 3, 3); (3, 1, 3); (1, 3, 1); (1, 1, 1).
Truy vấn mảng (Vĩnh Phúc 2024)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
QUERY.INP - Tệp ra:
QUERY.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB