TLEoj Contest #05 - Phần thưởng
Do giám đốc của công ty A tặng cho nhân viên công ty B kẹo ngậm cho lâu hết nên công ty B quyết định sẽ trả thù lại cho công ty A bằng cách sẽ tặng những quả trứng gà để lâu ngày, hậu quả khi cầm nặng tay là nó sẽ nổ và tạo ra mùi không ổn tý nào.
Nhân viên của A xếp thành một hàng ngang đánh số từ 1 đến n, công ty B muốn tất cả đều phải mở vậy nên tốt nhất là không thể tặng quà 2 người liên tiếp vì nếu một người mở thì người còn lại sẽ biết và không mở nữa. Và công ty B chỉ có k quả trứng. Hãy đếm số cách tặng quà cho công ty A và in ra kết quả sau khi modulo m.
Input, Output và Subtasks
Input
- Gồm duy nhất 3 số n,k,m\ (1\le m\le n\le 10^6,1\le k\le 2\times 10^9)
Output
- Kết quả cần tìm sau khi mod\ m
Sample 1
Input
3 2 569
Output
1
Note
- Chỉ có 1 cách duy nhất thỏa mãn là phát trứng cho người thứ nhất và người thứ ba
MẬT MÃ KHO BÁU (Quảng Ninh 2024)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
PASS.INP - Tệp ra:
PASS.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
MA TRẬN ĐỀU (3 điểm) (Kiên Giang 2023)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
MATRDEU.INP - Tệp ra:
MATRDEU.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
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ố chính phương (Phú Thọ 2023)
Đề 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
Chi phí (Đắk Nông 2023)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
CHPHI.INP - Tệp ra:
CHPHI.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
TLEOJ Contest #14 - MEX Board
Cho một bảng n \times m, các hàng được đánh số từ 1 đến n từ trên xuống dưới, các cột được đánh số từ 1 đến m từ trái sang phải. Ô ở hàng i và cột j (1 \le i \le n; 1 \le j \le m) có điền một số có giá trị là A[i][j]; ban đầu thì với mọi i và j, A[i][j] = 0. Giá trị được đặt ở ô ở hàng i và cột j được thực hiện như sau, theo thứ tự từ trái sang phải và từ trên xuống dưới:
- Gọi S là tập hợp các giá trị được xuất hiện trong tất cả các ô ở hàng x và cột y thỏa mãn một trong hai điều kiện sau: Hoặc x = i và y < j; hoặc x < i và y = j.
- Tạo dãy S_2 mới sao cho mọi giá trị trong S_2 khác nhau đôi một và mọi giá trị trong S đều xuất hiện trong S_2.
- Giá trị tại ô ở hàng i và cột j (A[i][j]), sẽ là số nguyên không âm nhỏ nhất không xuất hiện trong S_2. Giả sử, nếu S_2 = [6; 9; 4; 2; 0], A[i][j] = 1 vì 1 là số nguyên không âm nhỏ nhất không tồn tại trong S_2. Nói một cách khác, A[i][j] = \text{MEX}(S_2).
Cho hai thao tác được phép sử dụng:
- Thao tác \text{#}1: Chọn một hàng i bất kì (1 \le i \le n). Trong số các ô ở hàng i, tráo đổi giá trị của ô ở cột thứ j (hay giá trị A[i][j]) với ô ở cột thứ m - j + 1 (hay giá trị A[i][m - j + 1]) với mọi số j nguyên dương thỏa 1 \le j < \frac{m + 1}{2}.
- Thao tác \text{#}2: Chọn một cột j bất kì (1 \le j \le m). Trong số các ô ở cột j, tráo đổi giá trị của ô ở hàng thứ i (hay giá trị A[i][j]) với ô ở hàng thứ n - j + 1 (hay giá trị A[n - i + 1][j]) với mọi số i nguyên dương thỏa 1 \le i < \frac{n + 1}{2}.
Hãy cho biết rằng nếu thực hiện hai thao tác trên một cách ngẫu nhiên, tại ô ở hàng thứ u và cột thứ v (1 \le u \le n; 1 \le v \le m), giá trị lớn nhất của ô đó có thể là bao nhiêu.
\text{Input} MEXS.inp
- Dòng đầu gồm ba số n, m (1 \le n, m \le 10^9) – thể hiện độ lớn của bảng, và q (1 \le q \le \text{min}(10^6, n * m)) – số lượng truy vấn.
- q dòng tiếp theo, mỗi dòng thứ i gồm hai số u_i, v_i (1 \le u_i \le n; 1 \le v_i \le m) – tọa độ của ô được đề cập trong truy vấn thứ i.
\text{Output} MEXS.out
- Với mỗi truy vấn, in ra một giá trị duy nhất là giá trị lớn nhất của ô tại hàng u_i và cột v_i.
\text{Scoring}
- Subtask \text{#}1 (20\% số điểm): 1 \le n, m \le 100.
- Subtask \text{#}2 (30\% số điểm): n = m = 2^k (k \in \mathbb{N}, k \le 10).
- Subtask \text{#}3 (50\% số điểm): Không có điều kiện gì thêm.
\text{Examples}
\text{Test #}1
\text{Input}
4 4 5
1 1
3 2
4 3
1 2
4 4
\text{Output}
3
3
2
2
3
\text{Explanations}
0 1 2 3
1 0 3 2
2 3 0 1
3 2 1 0
Đây là bảng được tạo ra với n = m = 4.
TLEoj Contest #11 - Cờ vua
Lại là 1 bài toán khác về cờ vua.
Hôm nay là một ngày đẹp trời, , và mondellbit009 quyết định đến nhà của để chơi cờ vua 4 người bởi cả 3 rất thích chơi cờ vua.
Sau khi chơi 69420 ván cờ vua, cả 3 đã bắt đầu thấy chán chơi cờ vua thông thường. Thế là quyết định lấy bàn cờ vua với kích thước n \times m mà mondellbit009 tặng cậu vào sinh nhật cùng với những con mã của . Trong lúc suy nghĩ nên chơi gì với những món này thì bỗng một bài toán khá thú vị xuất hiện trong đầu của .
Nội dung bài toán
Cho một bàn cờ gồm n hàng, m cột và một quân mã nằm ở ô (1, 1). Tại mỗi bước, quân mã chỉ có thể di chuyển từ ô (i, j) sang ô (i+1, j+2) hoặc (i+2, j+1) và không được rời khỏi bàn cờ. Nhiệm vụ của bạn là đếm số lượng cách đi từ ô (1, 1) đến ô (n, m).
Bài toán trên quá dễ nên , và mondellbit009 đã giải nó chỉ trong 69420ms. Vậy nên bạn hãy thử sức với bài toán trên nhé.
Input, Output and Scoring
Input
- Số nguyên dương t (1 \le t \le 10^5).
- t dòng tiếp theo, mỗi dòng gồm 2 số nguyên dương n, m (1 \le n, m \le 10^{18}).
Output
- Với mỗi dòng, hãy in ra kết quả sau khi chia lấy dư cho 2^{32}-3.
Scoring
- Subtask 1 (20\%): 1 \le n, m \le 10^3.
- Subtask 2 (30\%): 1 \le n, m \le 10^6.
- Subtask 3 (50\%): Không giới hạn gì thêm.
Example
Input
3
1 1
4 2
6 8
Output
1
0
4
Note
- Không có gì đâu
![]()
Cặp có tổng chia hết (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ớ:
1024MB
Tính tổng
Cho n số nguyên liên tiếp từ 1 đến n và hai số nguyên dương k,m
Với mỗi i, ta định nghĩa giá trị C_i là tích k số liên tiếp từ i-k+1 đến i: C_i=(i-k+1)\cdot (i-k+2)\cdot \dots \cdot (i-1)\cdot i.
Ví dụ: n=6,k=3, ta có các giá trị: C_3=1\cdot 2\cdot 3,C_4=2\cdot 3\cdot 4,C_5=3\cdot 4\cdot 5,C_6=4\cdot 5\cdot 6.
Yêu cầu: Cho n,k,m, hãy tính tổng S=C_k+C_{k+1}+\dots+C_n. Vì S có thể rất lớn nên bạn chỉ cần in ra phần dư của S cho m
Input, Output và Subtasks
Input
- Một dòng ghi 3 số n,k,m (n\le 10^{18},k\le 500,m\le 10^{18})
Output
- Một số duy nhất là giá trị S mod M
Sample 1
Input
6 3 1234
Output
210
Sample 2
Input
10 5 666013
Output
55440
Từ dài (Khánh Hòa 2024)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
TUDAI.INP - Tệp ra:
TUDAI.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Số đẹp (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ớ:
1024MB
Trò chơi (HSG9 VT 2023)
Nhân kỷ niệm ngày thành lập Đoàn, cô Tổng phụ trách tổ chức 1 trò chơi có thưởng cho các bạn lớp 9 như sau: Có N ô vuông được vẽ thẳng hàng trên sân trường, các ô vuông được đánh số từ 1, 2, \dots, N. Mỗi ô vuông i (1\le i\le N) có giá trị năng lượng là h_i. Một bạn học sinh đang ở ô vuông thứ i, bạn ấy có thể nhảy tới ô vuông tiếp theo các cách:
- Nếu bạn ở ô vuông thứ i thì bạn có thể nhảy đến ô vuông thứ tự i+1,i+2,\dots,i+k
- Chi phí năng lượng của bạn tiêu hao cho 1 lần nhảy là |h_j-h_i| với h_j là ô vuông đích mà bạn nhảy tới
Bạn học sinh nào di chuyển từ ô số 1 đến ô số N với chi phí năng lượng thấp nhất sẽ được cô thưởng một phần quà
Yêu cầu: Hãy tìm chi phí thấp nhất để giúp các bạn học sinh nhảy từ ô vuông số 1 đến ô vuông thứ N
Input và Output
Input: (GAME.inp)
- Dòng đầu tiên chứa 2 số N và K cách nhau một ký tự trắng: N là số ô vuông, K là số ô vuông tối đa bạn học sinh có thể nhảy qua (2\le N\le 10^5,1\le K\le 100)
- Dòng thứ hai chứa N giá trị h_i (1\le h_i\le 10^4), mỗi số cách nhau một ký tự trắng chỉ phí năng lượng của ô vuông thứ i tương ứng
Output: (GAME.out)
- Một số nguyên duy nhất là tổng chi phí phát sinh tối thiểu
Bonus
- Bạn có thể giải quyết bài toán này với N\cdot K\le 10^8,N\le 10^6 ?
Subtasks
- Subtask 1 (10\%): N\le 25.
- Subtask 2 (30\%): N\le 10^5,K\le 100.
- Subtask 3 (60\%): Không có ràng buộc gì thêm.
Sample
Input (GAME.inp)
5 3
10 25 35 40 20
Output (GAME.out)
20
Note
Cách nhảy của bạn học sinh sẽ là: 1\rightarrow 2\rightarrow 5, tổng chi phí phát sinh sẽ là |25-10|+|20-25|=20
Số đặc biệt (Thanh Hóa 2024)
Đề 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
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}
TLEoj Cup Final Day 1 - Bảng trắng đen
Bạn được cho hai dãy số nguyên a_1, a_2, ..., a_n và b_1, b_2, ..., b_m. Bạn cần tạo ra một bảng n \times m gồm các ô màu đen hoặc màu trắng, sao cho hàng thứ i có đúng a_i ô đen, và cột thứ i có đúng b_i ô đen.
Input, Output và Subtask
Input (WBB.inp)
- Dòng đầu tiên gồm một số nguyên dương t là số trường hợp cần giải quyết (t \le 10).
- t nhóm dòng tiếp theo, mỗi nhóm gồm ba dòng với format như sau:
- Dòng đầu tiên gồm hai số nguyên dương n, m (1 \le n, m \le 1000).
- Dòng thứ hai gồm n số nguyên a_1, a_2, ..., a_n (a_i \le m).
- Dòng thứ ba gồm m số nguyên b_1, b_2, ..., b_m (b_i \le n).
- Dữ liệu đầu vào đảm bảo a_1 + a_2 + ... + a_n = b_1 + b_2 + ... + b_m.
Output (WBB.out)
- In ra kết quả của các trường hợp cần giải quyết. Nếu không tồn tại kết quả in ra -1, ngược lại in ra kết quả gồm n dòng, mỗi dòng gồm m ký tự 0 hoặc 1, Ô ở hàng i cột j là ô đen khi và chỉ khi ký tự thứ j ở hàng i là số 1.
- Nếu có nhiều kết quả đúng, bạn có thể in ra kết quả bất kỳ.
Subtask
- 20\% số điểm có m, n \le 4.
- 20\% số điểm khác có m \le 2.
- 20\% số điểm khác có a_i \le 1.
- 20\% số điểm khác có a_i \le 2.
- 20\% số điểm khác không có giới hạn gì thêm.
Sample 1
Input (WBB.inp)
2
4 5
1 3 1 3
1 2 2 1 2
2 3
2 0
2 0 0
Output (WBB.out)
00001
01011
00100
11100
-1
