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.
Pre TS10 2023 #01 - Ưóc chung lớn nhất khác một
Bạn được cho hai số nguyên dương a, b. Với mỗi thao tác, bạn được cộng hoặc trừ một trong hai số cho 1. Tính số thao tác ít nhất cần phải thực hiện để gcd(a, b) \neq 1.
Input, Output và Subtasks
Input: (bàn phím)
- Một dòng duy nhất gồm hai số nguyên dương a, b (a, b \le 10^6)
Output: (màn hình)
- Một dòng duy nhất là số thao tác ít nhất cần sử dụng.
Subtasks
- Subtask 1 (60\%): a, b \le 1000.
- Subtask 2 (40\%): Không có giới hạn gì thêm.
Sample
Input (bàn phím)
5 9
Output (màn hình)
1
Note
- Cộng 5 cho 1 để có gcd(6, 9) = 3, mất 1 thao tác.
Pre TS10 2023 #02 - Trọng số của xâu
Trọng số của một xâu s chỉ gồm các chữ cái trong bảng chữ cái tiếng Anh được tính bằng tổng các giá trị i^2 \times v_{s_i} với 1 \le i \le |s|, trong đó |s| là độ dài xâu s, s_i là ký tự thứ i của xâu s, v_{s_i} là vị trí của ký tự s_i trong bảng chữ cái.
Ví dụ, trọng số của xâu s = abca sẽ được tính như sau:
- Với i = 1, ta có 1^2 \times v_{s_1} = 1^2 \times 1 = 1.
- Với i = 2, ta có 2^2 \times v_{s_2} = 2^2 \times 2 = 8.
- Với i = 3, ta có 3^2 \times v_{s_3} = 3^2 \times 3 = 27.
- Với i = 4, ta có 4^2 \times v_{s_4} = 4^2 \times 1 = 16.
- Vậy trọng số của xâu s bằng 1 + 8 + 27 + 16 = 52.
Một xâu con liên tiếp của xâu t là xâu t khi xóa đi một số ký tự đầu và cuối (có thể không xóa ký tự nào), và giữ nguyên thứ tự của các ký tự còn lại. Ví dụ ab, bdc, abdc hay b là xâu con liên tiếp của abdc nhưng acd hay abc thì không.
Tính tổng trọng số của tất cả các xâu con liên tiếp của xâu t.
Input, Output và Subtasks
Input: (STRW.inp)
- Một dòng duy nhất gồm xâu t có độ dài không quá 2 \times 10^5.
Output: (STRW.out)
- Một dòng duy nhất là trọng số của xâu t. Vì kết quả có thể rất lớn nên bạn chỉ cần in ra trọng số sau khi đã chia lấy dư cho 10^9 + 7.
Subtasks
- Subtask 1 (30\%): Độ dài xâu t không vượt quá 200.
- Subtask 2 (35\%): Độ dài xâu t không vượt quá 2000.
- Subtask 3 (35\%): Độ dài xâu t không vượt quá 2 \times 10^5.
Sample
Input (STRW.inp)
abc
Output (STRW.out)
65
Note
- Các xâu
a,b,ccó trọng số lần lượt là 1, 2, 3. - Các xâu
ab,bccó trọng số lần lượt là 9, 14. - Xâu
abccó trọng số là 36.
Vậy tổng trọng số của các xâu con của xâu abc là 65.
Pre TS10 2023 #02 - Ưóc chung lớn nhất khác một (bản khó)
Bạn được cho hai số nguyên dương a, b. Với mỗi thao tác, bạn được cộng hoặc trừ một trong hai số cho k. Tính số thao tác ít nhất cần phải thực hiện để a, b > 0 và gcd(a, b) \neq 1.
Input, Output và Subtasks
Input: (GCD.inp)
- Một dòng duy nhất gồm ba số nguyên dương a, b, k (a, b, k \le 10^9)
Output: (GCD.out)
- Một dòng duy nhất là số thao tác ít nhất cần sử dụng.
Subtasks
- Subtask 1 (40\%): a, b, k \le 100.
- Subtask 2 (30\%): k = 1.
- Subtask 3 (30\%): Không có giới hạn gì thêm.
Sample 1
Input (GCD.inp)
5 9 1
Output (GCD.out)
1
Note
- Cộng 5 cho 1 để có gcd(6, 9) = 3, mất 1 thao tác.
Sample 2
Input (GCD.inp)
2 3 6
Output (GCD.out)
5
Note
- Cộng 18 cho 2 và cộng 12 cho 3 để có gcd(20, 15) = 5, mất 5 thao tác.
Pre TS10 2023 #02 - Phát quà
Có 2n + 1 bạn xếp thành một hàng ngang, đánh số từ 0 đến 2n, và n bản sao của . Với mọi số nguyên 1 \le i \le n, bản sao thứ i của đứng ở vị trí i, tiến hành phát quà cho các bạn theo quy tắc sau: Bạn ở vị trí i nhận được i món quà, bạn ở vị trí i - 1 và i + 1 nhận được i - 1 món quà, bạn đứng ở vị trí i - 2 và i + 2 nhận được i - 2 món quà, ..., bạn đứng ở vị trí 1 và 2i - 1 sẽ nhận được 1 món quà. Hỏi sau khi tất cả các bản sao của phát quà xong thì bạn ở vị trí thứ k nhận được bao nhiêu món quà.
Input, Output và Subtasks
Input: (bàn phím)
- Một dòng duy nhất gồm hai số nguyên dương n, k (1 \le n \le 2 \times 10^9, 0 \le k \le 2n)
Output: (màn hình)
- Một dòng duy nhất là số lượng món quà bạn thứ k nhận được.
Subtasks
- Subtask 1 (40\%): n \le 2000.
- Subtask 2 (30\%): n \le 2 \times 10^6.
- Subtask 3 (30\%): Không có giới hạn gì thêm.
Sample
Input (bàn phím)
4 5
Output (màn hình)
4
Note
- Bạn đứng ở vị trí thứ 5 nhận được 3 món quà từ bản sao thứ 4 của và nhận được 1 món quà từ bản sao thứ 3.
TLEoj Contest #02 - Trọng số của xâu (bản khó)
Trọng số của một xâu s chỉ gồm các chữ cái trong bảng chữ cái tiếng Anh được tính bằng tổng các giá trị i \times v_{s_i}^2 với 1 \le i \le |s|, trong đó |s| là độ dài xâu s, s_i là ký tự thứ i của xâu s, v_{s_i} là vị trí của ký tự s_i trong bảng chữ cái.
Ví dụ, trọng số của xâu s = abca sẽ được tính như sau:
- Với i = 1, ta có 1 \times v_{s_1}^2 = 1 \times 1^2 = 1.
- Với i = 2, ta có 2 \times v_{s_2}^2 = 2 \times 2^2 = 8.
- Với i = 3, ta có 3 \times v_{s_3}^2 = 3 \times 3^2 = 27.
- Với i = 4, ta có 4 \times v_{s_4}^2 = 4 \times 1^2 = 4.
- Vậy trọng số của xâu s bằng 1 + 8 + 27 + 4 = 40.
Một xâu con của xâu t là xâu t khi xóa đi một số ký tự (có thể không xóa ký tự nào), và giữ nguyên thứ tự của các ký tự còn lại. Ví dụ ab, bc, abdc hay abc là xâu con của abdc nhưng acd hay cb thì không.
Tính tổng trọng số của tất cả các xâu con của xâu t.
Input, Output và Subtasks
Input: (bàn phím)
- Một dòng duy nhất gồm xâu t có độ dài không quá 2 \times 10^7.
Output: (màn hình)
- Một dòng duy nhất là trọng số của các xâu con của xâu t. Vì kết quả có thể rất lớn nên bạn chỉ cần in ra trọng số sau khi đã chia lấy dư cho 10^9 + 7.
Subtasks
- Subtask 1 (30\%): Độ dài xâu t không vượt quá 20.
- Subtask 2 (25\%): Độ dài xâu t không vượt quá 200.
- Subtask 3 (20\%): Độ dài xâu t không vượt quá 2000.
- Subtask 4 (15\%): Độ dài xâu t không vượt quá 2 \times 10^5.
- Subtask 5 (10\%): Độ dài xâu t không vượt quá 2 \times 10^7.
Sample
Input (bàn phím)
abc
Output (màn hình)
100
Note
- Các xâu
a,b,ccó trọng số lần lượt là 1, 4, 9. - Các xâu
ab,ac,bccó trọng số lần lượt là 9, 19, 22. - Xâu
abccó trọng số là 36.
Vậy tổng trọng số của các xâu con của xâu abc là 100.
Pre TS10 2023 #03 - Logic của fan đội M
Trong bóng đá có rất nhiều loại fan, nhưng đông nhất có lẽ là fan đội M. Các fan đội M đôi khi có những logic rất khác lạ, do đó đôi khi được những fan của đội khác đặt cho những biệt danh như Mân đàn hay Mân đù.
Một trong những logic khác lạ của fan đội M là việc tỉ số của một trận đấu có thể được rút gọn bằng cách chia số bàn thắng của cả hai đội cho một số nguyên dương sao cho sau khi chia thì số bàn thắng của hai đội vẫn là một số nguyên. Ví dụ, tỉ số trận đấu là 6 - 3 thì theo logic của fan đội M thì tỉ số trận đấu có thể vẫn là 6 - 3 (chia số bàn thắng của cả hai đội cho 1) hoặc 2 - 1 (chia số bàn thắng của cả hai đội cho 3).
Fan đội M cũng có cách tính tổng tỉ số hai trận giống như các đội khác (nghĩa là lấy tổng số bàn thắng của mỗi đội ở cả hai trận để so sánh), nhưng với việc tỉ số của một trận đấu có thể được rút gọn, nên kết quả khi tính tổng tỉ số của fan đội M so với người bình thường có thể khác nhau. Ví dụ, nếu trận lượt đi đội M thua 3 - 6 nhưng trận lượt về đội M thắng lại 2 - 1 thì fan đội M có thể rút gọn tỉ số của trận lượt đi thành 2 - 1 rồi tính tổng tỉ số là 3 - 3, từ đó fan đội M sẽ đi đến kết luận rằng đội M giành được kết quả hòa sau hai trận.
Bạn được cho tỉ số của hai trận đấu giữa đội M và một đội khác. Bạn cần phải tính xem theo logic của fan đội M và theo logic của người bình thường thì đội M có kết quả như thế nào sau hai trận. (Lưu ý: fan đội M luôn chọn kết quả có lợi nhất cho đội của mình nếu có nhiều cách rút gọn)
Input, Output và Subtasks
Input: (bàn phím)
- Gôm hai dòng, mỗi dòng gồm hai số nguyên không âm mô tả tỉ số của hai trận đấu. Ở mỗi dòng, số nguyên đầu tiên là số bàn thắng đội M ghi được, và số nguyên thứ hai là số bàn thắng đội còn lại ghi được. Các số nguyên có giá trị không vượt quá 10^9.
Output: (màn hình)
- Gồm hai từ cách nhau một dấu cách: Từ đầu tiên mô tả kết quả chung cuộc của hai lượt trận theo logic của fan đội M (
Win: thắng,Draw: Hòa,Lose: thua), từ thứ hai mô tả kết quả chung cuộc của hai lượt trận theo logic của người bình thường.
Subtasks
- Subtask 1 (40\%): Các số nguyên có giá trị không vượt quá 7.
- Subtask 2 (30\%): Các số nguyên có giá trị không vượt quá 1000.
- Subtask 3 (30\%): Không có giới hạn gì thêm.
Sample 1
Input (bàn phím)
2 1
0 7
Output (màn hình)
Draw Lose
Note
- Theo logic của người bình thường, đội M thua với tổng tỉ số 2 - 8 sau hai lượt trận.
- Fan đội M có thể rút gọn tỉ số trận thứ hai thành 0 - 1 và có thể tính tổng tỉ số sau hai lượt trận là 2 - 2, do đó đội M hòa sau hai lượt trận.
Sample 2
Input (bàn phím)
4 2
0 7
Output (màn hình)
Win Lose
Note
- Theo logic của người bình thường, đội M thua với tổng tỉ số 4 - 9 sau hai lượt trận.
- Fan đội M có thể rút gọn tỉ số trận thứ hai thành 0 - 1 và có thể tính tổng tỉ số sau hai lượt trận là 4 - 3, do đó đội M thắng sau hai lượt trận.
Pre TS10 2023 #03 - Cặp số nguyên tố cùng nhau
Cho một số nguyên dương n. Tìm số cặp số nguyên (x, y) mà 1 \le x \le n và 1 \le y \le n và gcd(x, y) = 1.
Input, Output và Subtasks
Input: (CPP.inp)
- Một dòng duy nhất gồm số nguyên dương n (1 \le n \le 2 \times 10^7).
Output: (CPP.out)
- Một dòng duy nhất là số lượng cặp số theo yêu cầu đề bài.
Subtasks
- Subtask 1 (25\%): n \le 2000.
- Subtask 2 (25\%): n \le 2 \times 10^5.
- Subtask 3 (25\%): n \le 2 \times 10^6.
- Subtask 4 (25\%): Không có giới hạn gì thêm.
Sample 1
Input (CPP.inp)
3
Output (CPP.out)
7
Note
- Tất cả các cặp số nguyên dương không vượt quá 3 đều nguyên tố cùng nhau, trừ các cặp (2, 2) và (3, 3).
Pre TS10 2023 #03 - Tích chính phương
Cho hai số nguyên dương n, k. Đếm số lượng số nguyên 1 \le x \le n và x \times k là số chính phương.
Input, Output và Subtasks
Input: (SQP.inp)
- Dòng đầu gồm một số nguyên dương t chỉ số testcase (1\le t\le 100)
- Sau đó là t dòng, mỗi dòng gồm duy nhất gồm hai số nguyên dương n, k (n, k \le 10^{18}).
Output: (SQP.out)
- Xuất ra t dòng, mỗi dòng gồm duy nhất một số là số lượng số nguyên dương thỏa mãn đề bài.
Subtasks
- Subtask 1 (40\%): t=1,n \le 10^6,k\le 10^{12}.
- Subtask 2 (30\%): k \le 10^{12}.
- Subtask 3 (30\%): Không có giới hạn gì thêm.
Sample
Input (SQP.inp)
1
10 2
Output (SQP.out)
2
Note
- Có 2 \times 2 = 4 và 2 \times 8 = 16 là các số chính phương.
Giá trị của xâu (HSG12 QT 2023)
Trọng số của một xâu s chỉ gồm các chữ cái trong bảng chữ cái tiếng Anh được tính bằng tổng các giá trị i^2 \times v_{s_i} với 1 \le i \le |s|, trong đó |s| là độ dài xâu s, s_i là ký tự thứ i của xâu s, v_{s_i} là vị trí của ký tự s_i trong bảng chữ cái.
Ví dụ, trọng số của xâu s = abca sẽ được tính như sau:
- Với i = 1, ta có 1^2 \times v_{s_1} = 1^2 \times 1 = 1.
- Với i = 2, ta có 2^2 \times v_{s_2} = 2^2 \times 2 = 8.
- Với i = 3, ta có 3^2 \times v_{s_3} = 3^2 \times 3 = 27.
- Với i = 4, ta có 4^2 \times v_{s_4} = 4^2 \times 1 = 16.
- Vậy trọng số của xâu s bằng 1 + 8 + 27 + 16 = 52.
Một xâu con liên tiếp của xâu t là xâu t khi xóa đi một số ký tự đầu và cuối (có thể không xóa ký tự nào), và giữ nguyên thứ tự của các ký tự còn lại. Ví dụ ab, bdc, abdc hay b là xâu con liên tiếp của abdc nhưng acd hay abc thì không.
Tính tổng trọng số của tất cả các xâu con liên tiếp của xâu t.
Input, Output và Subtasks
Input: (GIAXAU.inp)
- Một dòng duy nhất gồm xâu t có độ dài không quá 2 \times 10^5.
Output: (GIAXAU.out)
- Một dòng duy nhất là trọng số của xâu t. Vì kết quả có thể rất lớn nên bạn chỉ cần in ra trọng số sau khi đã chia lấy dư cho 10^9 + 7.
Subtasks
- Subtask 1 (30\%): Độ dài xâu t không vượt quá 500.
- Subtask 2 (35\%): Độ dài xâu t không vượt quá 5000.
- Subtask 3 (35\%): Độ dài xâu t không vượt quá 2 \times 10^5.
Sample
Input (GIAXAU.inp)
abc
Output (GIAXAU.out)
65
Note
- Các xâu
a,b,ccó trọng số lần lượt là 1, 2, 3. - Các xâu
ab,bccó trọng số lần lượt là 9, 14. - Xâu
abccó trọng số là 36.
Vậy tổng trọng số của các xâu con của xâu abc là 65.