Số may mắn (PTNK 2024)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
LUCK.INP - Tệp ra:
LUCK.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Tích hoàn hảo
Cho một dãy các số nguyên dương chẵn a_1,a_2,\ldots,a_n. Đếm số tập hợp S \subset {1;2;\ldots;n} sao cho a_{S_1}\times a_{S_2}\times \ldots \times a_{S_{\left| S \right|}} là một số hoàn hảo.
Input
- Dòng đầu tiên gồm số nguyên dương n (n \le 10^6).
- Dòng tiếp theo chứa n số nguyên a_1,a_2,\ldots,a_n (a_i \le 2 \times 10^{18}).
Output
- Ghi số lượng tập S thỏa mãn. Vì số lượng tập S có thể rất lớn nên chỉ cần in số tập sau khi chia lấy dư cho 10^9+7.
Constraints
- 20% số điểm có n \le 10 và a_i \le 10.
- 20% số điểm khác có n \le 10 và a_i \le 18.
- 20% số điểm khác có n \le 20.
- 20% số điểm khác có n \le 1000.
- 20% số điểm còn lại không có giới hạn gì thêm.
Example
Sample input
4
2 2 14 6
Sample output
3
Note
Có 3 cách chọn sau:
- a_1 \times a_3 = 2 \times 14 = 28
- a_2 \times a_3 = 2 \times 14 = 28
- a_4 = 6
TLE-oj Cup Round 3 - Tổng bằng không
Cho một dãy số nguyên a_1, a_2, ..., a_n và q truy vấn, mỗi truy vấn gồm hai số nguyên dương l, r, hãy tìm số bộ ba số nguyên a_i, a_j, a_k sao cho l \le i < j < k \le r và a_i + a_j + a_k = 0.
Input, Output và Subtasks
Input: (TRIPLE.inp)
- Dòng đầu tiên gồm hai số nguyên dương n \le 5000 và q \le 10^5.
- Dòng tiếp theo gồm n số nguyên dương a_1, a_2, ..., a_n (|a_i| \le 10^6).
- q dòng tiếp theo, mỗi dòng gồm hai số nguyên dương l, r mô tả mỗi truy vấn.
Output: (TRIPLE.out)
- Gồm q dòng, dòng thứ i là kết quả truy vấn thứ i.
Subtasks
- Subtask 1 (10\%): n, q \le 100.
- Subtask 2 (10\%): |a_i| \le 10.
- Subtask 3 (10\%): n, q \le 500.
- Subtask 4 (15\%): n \le 500.
- Subtask 5 (15\%): n, q \le 2000.
- Subtask 6 (15\%): n \le 2000.
- Subtask 7 (25\%): Không có giới hạn gì thêm.
Sample
Input (TRIPLE.inp)
7 3
2 0 -1 1 -2 3 3
1 5
2 4
1 7
Output (TRIPLE.out)
2
1
4
Notes
- Trong dãy có các bộ (i, j, k) sau thỏa mãn a_i + a_j + a_k = 0:
- (1, 2, 5).
- (2, 3, 4).
- (3, 5, 6).
- (3, 5, 7).
Pre TS10 2023 #01 - Tổng chẵn lớn nhất
Bạn được cho một dãy số nguyên dương a_1, a_2, ..., a_n. Bạn được phép thay đổi không quá k chữ số của các phần tử trong dãy (ví dụ dãy (1, 2, 10, 5) với k = 1 có thể được thay đổi thành (1, 2, 10, 8) hoặc (1, 2, 18, 5), ...). Hỏi tổng các phần tử chẵn lớn nhất bạn có thể thu được sau khi thay đổi là bao nhiêu. Lưu ý là bạn không được viết thêm hoặc xóa bất kỳ chữ số nào.
Input, Output và Subtasks
Input: (EVEN.inp)
- Dòng đầu tiên gồm hai số nguyên n (1 \le n \le 10^5, 0 \le k \le 1).
- Dòng tiếp theo gồm n số nguyên dương a_1, a_2, ..., a_n (a_i \le 10^9)
Output: (EVEN.out)
- Một số nguyên duy nhất là tổng các phần tử chẵn lớn nhất thu được.
Subtasks
- Subtask 1 (60\%): k = 0.
- Subtask 2 (40\%): Không có giới hạn gì thêm.
Sample
Input (EVEN.inp)
4 1
1 2 10 5
Output (EVEN.out)
92
Note
- Thay đổi chữ số hàng chục của phần tử thứ ba thành 9 để có tổng các phần tử chẵn lớn nhất là 92.
Số nguyên tố đối xứng (HSG9 ĐN 2022)
Một số được gọi là số nguyên tố đối xứng nếu nó là một số nguyên tố và khi đọc số này từ trái sang phải hay từ phải sang trái đều như nhau. Chẳng hạn 131 là số nguyên tố đối xứng.
Yêu cầu: Cho trước một số nguyên dương x. Hãy tính xem có bao nhiêu số nguyên tố đối xứng lớn hơn 10 và bé hơn x.
Sample
Input (NTDX.INP)
150
Output (NTDX.OUT)
3
Giải thích
Có 3 số nguyên tố đối xứng lớn hơn 10 là 131; 101 và 11
Giới hạn
- Có 50\% test tương ứng x\leq 10^4; 20\% test tương ứng với 10^4<x\leq 10^6; 30\% test tương ứng với 10^6<x\leq 10^{10}
Vòi tưới nước (Hải Phòng 2026)
Đề 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ớ:
1025MB
Python Basic Contest #01 - Đếm số nguyên tố trên đoạn (Python only)
Bạn được cho hai số nguyên dương (l, r). Bạn cần đếm số lượng số nguyên tố trong đoạn [l, r].
Input, Output và Subtask
Input (bàn phím)
- Một dòng duy nhất gồm hai số nguyên dương l, r (l, r \le 10^{12}, r - l \le 10^6).
Output (màn hình)
- Một dòng duy nhất gồm số lượng số nguyên tố trong đoạn [l, r].
Subtask
| Tỉ lệ điểm (%) | Giới hạn |
|---|---|
| 20 | l = 1, r \le 1000 |
| 20 | l = 1, r \le 4 \times 10^4 |
| 20 | l = 1 |
| 20 | r - l \le 2000 |
| 10 | r - l \le 10^5 |
| 10 | Không có giới hạn gì thêm |
Sample 1
Input (bàn phím)
8 20
Output (màn hình)
4
Notes
- Các số nguyên tố trong đoạn [8, 20] là 11, 13, 17, 19.
Sample 2
Input (bàn phím)
1 100
Output (màn hình)
25
Bedan Contest #05 - F - Đảo ngược
Cho dãy a và b gồm n phần tử là hoán vị của n. Bạn được thực hiện thao tác tối đa n lần:
- Chọn 2 số nguyên dương l và r (1 \le l \le r \le n), sau đó đảo ngược đoạn con [l, r] của a.
Nhiệm vụ của bạn là in ra m (0 \le m \le n) là số thao tác và m thao tác bạn cần thực hiện để biến đổi dãy a thành b.
Input and Output
Input
- Số nguyên dương n (1 \le n \le 10^3).
- Dãy a gồm n phần tử a_1, a_2, ..., a_n (1 \le a_i \le n).
- Dãy b gồm n phần tử b_1, b_2, ..., b_n (1 \le b_i \le n).
Output
- In ra m là số thao tác, sau đó là m dòng tương ứng với m thao tác cần thực hiện.
- Nếu có nhiều cách thực hiện thao tác thỏa mãn, hãy in ra một cách bất kì.
Test
Input
5
4 2 3 5 1
1 5 4 2 3
Output
3
3 5
1 3
2 4
Note
- Ngoài cách trên, đảo ngược đoạn [1, 5] rồi đến [1, 3] cũng được tính là đúng.
Đếm dãy quà (Quảng Nam 2025)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
COUNT.INP - Tệp ra:
COUNT.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Tính tổng (Bến Tre 2025)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
TONG.INP - Tệp ra:
TONG.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
HSG 11 Bạc Liêu 2024 - Xâu đối xứng
Sau một thời gian phấn đấu và tích cực ôn luyện trong đội tuyển, hai bạn Tí và Tèo đã vượt qua kì thi chọn học sinh giỏi cấp trường, chính thức được chọn vào đội tuyển học sinh giỏi môn Tin học của trường XYZ tham dự kì thi chọn học sinh giỏi cấp tỉnh. Lần này, hai bạn được thầy dạy rất nhiều chuyên đề chuyên sâu trong lập trình. Khi học đến chuyên đề về xâu kí tự, Tí biết rằng xâu đối xứng (palindrome) là xâu nếu như khi đọc xâu này từ trái sang phải hay từ phải sang trái thì xâu đó không thay đổi.
Ví dụ: Các xâu: "ioi", "madam", "abba" là các xâu đối xứng, còn các xâu: "voi", "abab", "tiok" không phải là các xâu đối xứng.
Tí nhận thấy rằng, nếu như coi xâu chỉ gồm một kí tự cũng là một palindrome thì một xâu kí tự bất kì có thể biểu diễn như một dãy các palindrome.
Ví dụ: Xâu "banana" có thể biểu diễn dưới dạng dãy các palindrome theo nhiều cách, chẳng hạn:
- "banana" = "b" + "anna"
- "banana" = "b" + "ana" + "n" + "a"
- "banana" = "b" + "a" + "nan" + "a"
- ...
Tí liền hỏi bạn Tèo: Nếu cho xâu kí tự S chỉ gồm các kí tự chữ cái in thường thì trong cách biểu diễn dưới dạng dãy các palindrome, cách nào thu được số lượng palindrome ít nhất.
Yêu cầu: Hãy lập trình giúp Tí và Tèo tìm ra cách biễu diễn xâu S dưới dạng một dãy gồm ít nhất các palindrome.
Input, Output
Input: (stdin)
- Một dòng duy nhất chứa xâu kí tự S có độ dài không vượt quá 1000
Output: (stdout)
- Ghi ra một số nguyên duy nhất là số lượng ít nhất các palindrome trong biểu diễn tìm được.
Sample
Input 1 (stdin)
banana
Output 1 (stdout)
2
Input 2 (stdin)
bobseesanna
Output 2 (stdout)
3
TLEOJ [x QTOJ] Contest #13 - E - Hai lần trung vị
Bạn được cho một dãy a_1, a_2, ..., a_n. Xét b là dãy gồm các trung vị của các đoạn con liên tiếp của a, hãy tính trung vị của b.
Nhắc lại:
- Trung vị của một dãy x_1, x_2, ..., x_n đã được sắp xếp là x_{[\frac{n + 1}{2}]}, với [i] là số nguyên lớn nhất không lớn hơn i.
- Một đoạn con liên tiếp của một dãy y_1, y_2, ..., y_n là một dãy a_l, a_{l + 1}, ..., a_r với 1 \le l \le r \le n.
Input và Output
Input (bàn phím)
- Dòng đầu tiên gồm một số nguyên dương n là số lượng phần tử (1 \le n \le 10^6).
- Dòng thứ hai gồm n số nguyên dương a_1, a_2, ..., a_n (1 \le a_i \le 10^9).
Output (màn hình)
- In ra trung vị của dãy b
Sample 1
Input (bàn phím)
4
1 2 3 4
Output (màn hình)
2
Note
- Dãy (1), (2), (3), (4) có trung vị lần lượt là 1, 2, 3, 4.
- Dãy (1, 2), (2, 3), (3, 4) có trung vị lần lượt là 1, 2, 3.
- Dãy (1, 2, 3), (2, 3, 4) có trung vị lần lượt là 2, 3.
- Dãy (1, 2, 3, 4) có trung vị là 2.
- Vậy dãy b=(1,2,3,4,1,2,3,2,3,2) có trung vị là 2.
Sample 2
Input (bàn phím)
4
1 1 2 2
Output (màn hình)
1
Sample 3
Input (bàn phím)
4
4 3 2 1
Output (màn hình)
2
Số siêu đối xứng
Số siêu đối xứng là các số mà tất cả chữ số của nó đều giống nhau.
Ví dụ 1, 22, 333, 999999 là các số siêu đối xứng
Cho số nguyên dương n, tìm số siêu đối xứng nhỏ nhất lớn hơn hoặc bằng n
Input, Output and Scoring
Input
- 1 số nguyên dương n (1 \le a \le b \le 10^{100}).
Output
- Số siêu đối xứng nhỏ nhất lớn hơn hoặc bằng n
Scoring
- Subtask 1 (30\%): 2 \le a, b \le 10^5.
- Subtask 1 (30\%): 2 \le a, b \le 10^{18}.
- Subtask 2 (40\%): Không giới hạn gì thêm.
Example 1
Input
123
Output
222
Example 2
Input
5324
Output
5555
TLEoj Contest #03 - Olimpit Tam quốc
Từ xa xưa, ba nước: TLE, VNOI, CF vẫn luôn phân vân và muốn biết xem nước nào là nước mạnh nhất về thể thao. Vì thế cả 3 nước đã quyết định tạo ra một thế vận hội “Olimpit Tam quốc” nhằm tìm ra xem nước nào là nước mạnh nhất. Cho đến ngày hôm nay, thế vận hội đã diễn ra được t năm. Trong mỗi năm, các sự kiện sẽ được biểu diễn bởi một xâu s chỉ gồm 3 ký tự là T,V,C. Trong đó, mỗi ký tự T tương ứng với việc nước TLE được thêm 1 điểm, V tương ứng với VNOI và C tương ứng với CF. Đến cuối năm, nước nào được nhiều điểm nhất sẽ là nước vô địch năm đó (nếu có nhiều nước cùng nhiều điểm nhất thì ưu tiên theo thứ tự TLE > VNOI > CF)
Qua t năm, ba nước muốn thống kê lại số lần vô địch của mỗi nước. Với trách nghiệm là 1 sứ giả, nhiệm vụ của bạn là đếm số lần vô địch của mỗi nước sau t năm.
Input, Output và Subtasks
Input
- Dòng thứ nhất gồm 1 số nguyên dương t là số năm (1\le t\le 10^3)
- T dòng tiếp theo, dòng thứ i gồm 1 chuỗi s có các chữ cái
T,V,Cbiểu thị các sự kiện trong năm thứ i (1\le |s|\le 10^3, trong đó |s| là độ dài của chuỗi s)
Output
- Xuất ra 3 số trên 1 dòng cho biết số lần vô địch của các nước. Trong đó số thứ nhất là tương ứng với nước TLE, số thứ hai tương ứng với VNOI và số thứ ba tương ứng với CF
Sample
Input
3
TCTVVCTTTVCT
TTVVCC
TCVCVCV
Output
2 1 0
Note
- Năm đầu tiên, quốc gia TLE giành được 6 điểm, quốc gia VNOI giành được 3 điểm và quốc gia CF cũng giành được 3 điểm. Quốc gia TLE vô địch lần đầu tiên.
- Năm thứ hai, mỗi quốc gia đạt được 2 điểm, nhưng theo luật ưu tiên, quốc gia TLE vô địch.
- Năm thứ ba, quốc gia TLE giành được 1 điểm, quốc gia VNOI giành được 3 điểm và quốc gia CF cũng giành được 3 điểm. Nhưng theo luật ưu tiên, quốc gia VNOI vô địch
- Sau 3 năm, quốc gia TLE vô địch 2 lần, quốc gia VNOI vô địch 1 lần và CF không vô địch lần nào :(
Chữ số lớn nhất (Cần Thơ 2023)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
CSLN.INP - Tệp ra:
CSLN.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Tổng của các hoán vị (HSG9 ĐN 2022)
Cho trước một số tự nhiên x có n chữ số và không có 2 chữ số nào giống nhau. Người ta thay đổi trật tự các chữ số của x cho nhau để được một số tự nhiên mới cũng có n chữ số và mỗi số mới này được gọi là một hoán vị của số x.
Yêu cầu: Tính tổng của số x và tất cả các hoán vị của x.
Sample
Input (THV.INP)
123
Output (THV.OUT)
1332
Giải thích
Tổng của số 123 và các hoán vị của nó là
123+312+213+231+132+321=1332
Giới hạn
- Có 30\% test tương ứng với số x có từ 2 đến 3 chữ số;
- Có 20\% test tương ứng với số x có từ 4 đến 5 chữ số;
- Có 30\% test tương ứng với số x có từ 6 đến 8 chữ số;
- Có 20\% test tương ứng với số x có từ 9 đến 10 chữ số.
TLE Speedrun - Tổng
Input và Output
Input
- Dòng đầu tiên gồm một số nguyên dương N (1 \le N \le 10^5).
- Dòng tiếp theo gồm N số nguyên A_1, A_2, ..., A_N (|A_i| \le 10^9).
Output
- Số cặp số nguyên 1 \le i < j \le N mà A_i + A_j \neq 0.
Sample
Input
3
1 0 -1
Output
2
Cặp số bạn (Bình Dương 2023)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
CAU1.INP - Tệp ra:
CAU1.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB