TLEoj Contest #05 - Giá trị Sussy

flo

Giá trị Sussy của một số nguyên dương n (kí hiệu là Sussy(n)) là n sau khi các chữ số của nó được sắp xếp lại và loại bỏ các chữ số 0 vô nghĩa. Ví dụ:

  • Sussy(69420) = 2469; Sussy(1412) = 1124.

Cho hai số nguyên dương l, r, hãy tính \sum_{i=l}^{r} Sussy(i).

Input, Output and Scoring

Input

  • Số nguyên dương q (1 \le q \le 5 \times 10^4).
  • Hai số nguyên dương l, r (1 \le l \le r \le 10^{18}).

Output

  • Với mỗi dòng, hãy in ra kết quả chia lấy dư 1234567891.

Scoring

  • Subtask 1 (30\%): 1 \le l \le r \le 10^6.
  • Subtask 2 (70\%): Không giới hạn gì thêm.

Input and Output

Input

2
13 98
69 420

Output

3297
57282

Python Basic Contest #01 - Đếm số nguyên tố trên đoạn (Python only)

Sunlight

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

TLEoj Contest #11 - Tổng các tích

flo

Nội dung bài toán

Cho dãy a gồm n phần tử, nhiệm vụ của bạn là tính tổng các giá trị a_i \times a_j với mọi 1 \le i < j \le n.

À không, bài toán trên quá dễ. Thế nên tôi quyết định đem đến cho 1 bài toán khó hơn với nội dung tương tự như sau.

Nội dung bài toán

Cho dãy a gồm n phần tử, nhiệm vụ của bạn là tính tổng các giá trị a_{i_1} \times a_{i_2} \times ... \times a_{i_k} với mọi 1 \le i_1 < i_2 < ... < i_k \le n.

Chúc bạn may mắn nhé.

Input, Output and Scoring

Input
  • 2 số nguyên dương n, k (1 \le k \le n \le 10^6; 1 \le k \le 10^2).
  • Dãy a gồm n phần tử a_1, a_2, ..., a_n (1 \le a_i \le 10^9).
Output
  • In ra kết quả sau khi chia lấy dư cho 1234567891.
Scoring
  • Subtask 1 (20\%): 1 \le k \le 3.
  • Subtask 2 (30\%): 1 \le k \le n \le 20.
  • Subtask 3 (50\%): Không giới hạn gì thêm.

Test 1

Input
3 2
2 3 1
Output
11

Test 2

Input
4 3
2 3 4 5
Output
154

TLEoj Contest #08 - Trò chơi với đá

nathan4690

Ở thành phố XYZ, ai ai cũng đều biết tới nathan4690 với khả năng "chơi đá" thần sầu của anh khiến tất cả đều ngưỡng mộ. Tuy nhiên, riêng chỉ có bạn là không tin tưởng vào tài năng đó của nathan4690, vì vậy cậu ấy quyết định sẽ thách đấu bạn bằng một trò chơi nho nhỏ.

Trò chơi được thực hiện trên một sân đấu được chia thành 10^6 vị trí được đánh số từ 1 đến 10^6. nathan4690 có một số viên đá, cậu ấy xếp chúng vào n vị trí từ 1 đến n, vị trí thứ i có a_i viên đá. Bạn được thực hiện không quá 10^6 thao tác sau:

  • Chọn 3 vị trí i,j,k phân biệt có giá trị không quá 10^6 sao cho vị trí i và j chứa ít nhất một viên đá.
  • Lấy hai viên đá từ hai vị trí thứ i, j, mỗi vị trí một viên đá, rồi chuyển chúng sang vị trí thứ k.

Mục tiêu của trò chơi là chuyển hết tất cả các viên đá về một vị trí duy nhất (vị trí kết thúc không quan trọng). nathan4690 đã dễ dàng dành chiến thắng trong trò chơi này, thậm chí không cần dùng đến các vị trí lớn hơn ns, còn bạn?

Input, Output và Subtasks

Input
  • Dòng đầu tiên chứa số nguyên dương n là số lượng vị trí được đặt đá (4 \leq n \leq 10^5)

  • Dòng thứ hai chứa n số nguyên dương a_1, a_2, \ldots, a_n tương ứng là số viên đá ở vị trí thứ 1,2,\ldots,n (1 \leq a_i \leq 10^5)

Dữ liệu đảm bảo a_1 + a_2 + \ldots + a_n \leq 2 \times 10^5

Output
  • Dòng đầu tiên cần chứa số nguyên không âm c là số lượng thao tác bạn sẽ thực hiện (0 \leq c \leq 10^6). Lưu ý rằng bạn không cần tối thiểu hóa số thao tác bạn thực hiện.

  • c dòng tiếp theo, mỗi dòng cần chứa 3 số nguyên dương phân biệt i,j,k là các vị trí bạn sẽ thực hiện thao tác (1 \leq i,j,k \leq 10^6)

  • Nếu bạn không thể dành chiến thắng trong trò chơi của nathan4690, in ra một dòng duy nhất chứa số -1

Subtasks
  • Subtask 1 (20\% số điểm): a_i \leq 2 với mọi i

  • Subtask 2 (80\% số điểm): Không có ràng buộc gì thêm.

Với mỗi test:

  • Bạn sẽ được tính 25\% số điểm của test đó nếu bạn sử dụng không quá 10^6 vị trí.
  • Bạn sẽ được tính 100\% số điểm của test đó nếu bạn sử dụng không quá n vị trí.

Sample

Sample Input
4
1 2 3 1
Sample output
2
1 2 3
2 4 3
Note
  • Ban đầu, số lượng đá ở từng chồng là: 1,2,3,1
  • Ở bước 1, bạn chuyển 1 viên từ chồng 1 và 1 viên từ chồng 2 sang chồng thứ 3. Số lượng đá ở từng chồng lúc này là: 0,1, 5,1
  • Ở bước 2, bạn chuyển 1 viên từ chồng 2 và 1 viên từ chồng 4 sang chồng thứ 3. Số lượng đá ở từng chồng lúc này là: 0,0, 7,0
  • Bạn giành chiến thắng trò chơi vì đã đưa hết các viên đá vào chồng thứ 3. Bạn được 100\% số điểm của test vì không dùng tới bất kỳ vị trí nào lớn hơn 4.

TLEoj Contest #11 - Xâu đặc biệt

icebearlovecode

chinhhoangmanutd có 1 mảng A gồm các n xâu S có độ dài bất kì và số nguyên không âm k. Với mỗi xâu S ta có thể:

  • Hoán đổi vị trí giữa hai kí tự liền kề nhau.
  • Sau tối đa k thao tác xâu S phải là xâu có thứ tự từ điển lớn nhất.

Sau các thao tác trên hãy in ra xâu có thứ tự từ điển lớn nhất trong mảng A.

Input, Output và Scoring

Input

  • Dòng đầu tiên số nguyên dương n và k (n\le 10^3, 0\le k\le500).
  • n dòng tiếp theo gồm xâu S (|S|\le10^3).

Output

  • In ra xâu thỏa mãn đề bài.
Scoring
  • Subtask 1 (10\%): k\le 1.
  • Subtask 2 (20\%): n,k,|S|\le10.
  • Subtask 3 (70\%): Không có ràng buộc gì thêm

Example

Test 1

Input
5 4
hoang
haudz
bngoc
cuong
dviet
Output
zhaud

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

Đếm ký tự (HSG9 ĐN 2022)

Sunlight

Yêu cầu: Nhập từ bàn phím một xâu kí tự S. Hãy đếm và in ra màn hình số lượng kí tự xuất hiện ít nhất 2 lần trong xâu kí tự S (có phân biệt chữ hoa và chữ thường).

Sample

Standard Input
abcbMbdmccccd
Standard Output
3
Giải thích

Có 3 kí tự xuất hiện ít nhất 2 lần trong xâu S là: b, c, và d.

Giới hạn

  • Xâu S có không quá 255 kí tự.

Mật khẩu (THTC2 ĐN 2023)

Sunlight

Nhằm bảo mật thông tin trao đổi, người gửi và người nhận thông tin có thể đặt ra các quy tắc để tìm ra mật khẩu. Hiếu muốn trao đổi mật khẩu với Hùng nên đặt ra quy tắc như sau: Hiếu gửi cho Hùng một xâu ký tự, mật khẩu được tìm bằng cách tính tổng các chữ số chẵn có trong xâu rồi ghép với chiều dài của xâu đó

Input, Output và Subtasks

Input: (MATKHAU.inp)
  • Gồm một dòng duy nhất chứa xâu ký tự có độ dài không quá 10^5 ký tự gồm các ký tự in hoa, in thường, ký tự số, khoảng trắng và các ký tự đặc biệt
Output: (MATKHAU.out)
  • Mật khẩu cần tìm

Sample 1

Input (MATKHAU.inp)
Tin hoc tre 2023
Output (MATKHAU.out)
416
Note

Tổng các chữ số chẵn là 2+2=4 và có chiều dài là 16 nên mật khẩu là 416

Khoanh vùng phân loại (Bình Định 2023)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: VUONCAY.INP
  • Tệp ra: VUONCAY.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 256MB

TLEOJ Contest #16 - Truy vấn MEX

giaminh2211

Hôm nay giaminh2211 được học định nghĩa của MEX của tập hợp và cảm thấy rất hứng thú với định nghĩa này nên đã nghĩ ra 1 bài toán liên quan đến hàm MEX này.

Cho mảng n phần tử a_1, a_2, …, a_n.
Cho q truy vấn, mỗi truy vấn bạn được cho 1 số nguyên dương x.
Xét mảng b với b_i=a_i+i \times x với (1 \leq i \leq n).
Với mỗi truy vấn hãy in ra MEX của mảng b của truy vấn đó.

Định nghĩa của MEX
Định nghĩa MEX của tập S

MEX của một tập hợp S là số nguyên không âm nhỏ nhất không thuộc tập hợp S .

Giải thích cụ thể
  • MEX của S là số nguyên không âm nhỏ nhất mà không xuất hiện trong S .
  • Ví dụ:
  • Nếu S = \{0, 1, 2, 4, 5, -3\} , thì MEX của S là 3 vì 3 là số nguyên không âm nhỏ nhất không có trong S .
  • Nếu S = \{1, 2, 3, -1, -2, -3, 69, -96, 169, 196, -11092001\} , thì MEX của S là 0 vì 0 là số nguyên không âm nhỏ nhất không có trong S .

Input and Output

Input
  • Dòng đầu chứa hai số nguyên n, q (1 \leq n, q \leq 10^5)
  • Dòng thứ hai chứa n số nguyên a_i (-10^9 \leq a_i \leq 10^9)
  • q dòng sau dòng thứ i gồm 1 số nguyên dương là x (1 \leq x \leq n) của truy vấn thứ i
Output
  • Một dòng duy nhất chứa số nguyên là đáp án của bài toán
Subtask
  • Subtask 1 (50\% số điểm) : 1 \leq n, q \leq 1000.
  • Subtask 2 (50\% số điểm còn lại) : Không có giới hạn gì thêm.

Test 1

Input
5 2
-1 -1 -6 -2 4
1
2
Output
3
2

Chọn số (Kon Tum 2024)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: CHONSO.INP
  • Tệp ra: CHONSO.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

Phép toán (Tiền Giang 2025)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: DIVMOD.INP
  • Tệp ra: DIVMOD.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

Trại hè Phương Nam 2024 - Ước số

remyvnkhiemtruong

Các ước số tự nhiên có vai trò quan trọng trong nhiều thuật toán mã hóa, chẳng hạn như RSA, một thuật toán mã hóa công khai phổ biến. Việc tạo ra dãy các ước số của một tập hợp số tự nhiên có thể giúp hiểu được cách các ước số phân phối và ảnh hưởng đến tính bảo mật của mã hóa. Là một người yêu thích môn mật mã, Nam quan sát đặc điểm các ước số của một tập hợp số tự nhiên thông qua bài toán sau.

Nam có một dãy số A gồm N phần tử, mỗi phần tử là một số tự nhiên khác 0. Gọi D là dãy các phần tử có giá trị không giảm gồm tất cả các ước số tự nhiên, không nhất thiết phải phân biệt của các phần tử của A. Nam chuẩn bị dãy P gồm Q số tự nhiên khác 0, mỗi số biểu thị một vị trí trong dãy D. Do dãy D chưa được cho trước mà phải tính toán thông qua các giá trị trong dãy A và N, Nam mong muốn xác định nhanh từng giá trị phần tử trong dãy D tương ứng với mỗi phần tử thuộc dãy P. Ví dụ: với N = 4, A = (10, 2, 5, 2) và P = (5, 1, 10), ta có dãy D = (1, 1, 1, 1, 2, 2, 2, 5, 5, 10) và các giá trị phần tử trong dãy D tương ứng với mỗi phần tử thuộc dãy P là (2, 1, 10).

Yêu cầu: Hãy giúp Nam xác định từng phần tử trong dãy D tương ứng với với mỗi phần tử trong dãy P.

Input, Output

Input: (DIV.INP)

Vào từ file văn bản DIV.INP:

  • Dòng đầu tiên chứa hai số nguyên dương N và Q lần lượt là số lượng phần tử dãy A và số lượng phần tử dãy P (1 \le N \le 10^6; 1 \le Q \le 10^5).
  • Dòng thứ hai chứa N số nguyên dương A_1, A_2,..., A_N mô tả dãy A (1 \le A_i \le 10^6).
  • Dòng thứ ba chứa Q số nguyên dương P_1, P_2,..., P_Q mô tả dãy P (1 \le P_i \le |D|, với |D| là số lượng phần tử dãy D).

Các số trên cùng một dòng cách nhau bởi dấu cách.

Output: (DIV.OUT)
  • Ghi ra file văn bản DIV.OUT duy nhất một dòng gồm Q số nguyên, cách nhau bởi dấu cách, là các phần tử trong dãy D tương ứng với các phần tử trong dãy P.

Sample

Subtask
  • Có 25\% số test ứng với 25\% số điểm của bài thoả mãn: N, Q \le 1000; A_i \le 1000 với mọi 1 \le i \le N; P_i \le 1000 với mọi 1 \le i \le Q.
  • 25\% số test khác ứng với 25\% số điểm của bài thoả mãn: A_i là số nguyên tố với mọi 1 \le i \le N.
  • 20\% số test khác ứng với 20\% số điểm của bài thoả mãn: N \le 10 000; P_i \le 2 · 10^6 với mọi 1 \le i \le Q.
  • 20\% số test khác ứng với 20\% số điểm của bài thoả mãn: P_i \le 2·10^6 với mọi 1 \le i \le Q.
  • 10\% test còn lại ứng với 10\% số điểm của bài: Không có ràng buộc gì thêm.

TLEOJ [x QTOJ] Contest #13 - B - Sắp xếp

Sunlight, icebearlovecode

Cho dãy số A có n phần tử, phần tử thứ i có giá trị là a_i.

Bạn có thể thực hiện hai thao tác sau:

  • Chọn 1 vị trí i (1\le i\le n) và chuyển a_i về đầu dãy và dồn các phần tử phía sau lên trước. (i.e. xoay vòng dãy từ a_1 đến a_i theo chiều hướng về phía cuối dãy, sau thao tác dãy sẽ trở thành a_i, a_1, a_2, ..., a_{i - 1}, a_{i + 1}, a_{i + 2}, ..., a_n)
  • Chọn 1 vị trí i (1\le i\le n) và chuyển a_i về cuối dãy và dồn các phần tử phía sau lên trước. (i.e. xoay vòng dãy từ a_i đến a_n theo chiều hướng về phía đầu dãy, sau thao tác dãy sẽ trở thành a_1, a_2, ..., a_{i - 1}, a_{i + 1}, a_{i + 2}, ..., a_n, a_i)

Yêu cầu: Tìm số thao tác nhỏ nhất tạo ra một dãy mà 1\le i\le n-1 thì a_i \ge a_{i + 1} (i.e. dãy thu được là dãy không tăng).

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 3 \times 10^5).
  • Dòng thứ hai gồm n số nguyên dương a_1, a_2, ..., a_n (1 \le a_i \le 3 \times 10^5).
Output (màn hình)
  • In ra số thao tác nhỏ nhất.
Sample 1
Input (bàn phím)
4 
2 6 1 4
Output (màn hình)
2
Note
  • Chuyển phần tử thứ 1 về cuối dãy được A = \{6, 1, 4, 2\}.
  • Chuyển phần tử thứ 2 về cuối dãy được A = \{6, 4, 2, 1\} (thỏa mãn).
Sample 2
Input (bàn phím)
4 
3 1 2 4
Output (màn hình)
2
Sample 3
Input (bàn phím)
4 
1 1 2 2
Output (màn hình)
2

VỊ TRÍ ĐẦU TIÊN (Lào Cai 2024)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: bai4.inp
  • Tệp ra: bai4.out
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

Cặp điểm tình bạn

icebearlovecode

Có 2\times n + 1 điểm trên mặt phẳng tọa độ, hai điểm phân biệt (x,y) và (a,b) được gọi là tình bạn khi và chỉ khi:

  • a = x hoặc b = y.

Ngoài ra tình bạn luôn chung thủy nên mỗi điểm chỉ có tối đa một tình bạn.
Yêu cầu: cho 2\times n + 1 điểm phân biệt, nếu ta loại bỏ một điểm bất kì thì có thể tạo ra n cặp điểm tình bạn không.

Input, Output and Subtask

Input (FRIEND.inp)
  • Dòng đầu tiên chứa một số nguyên dương n (1≤n≤10^5)
  • 2\times n + 1 dòng tiếp theo, mỗi dòng có hai số nguyên dương x_i và y_i (1\le x_i, y_i \le 2\times n + 1).
Output (FRIEND.out)
  • In ra 2\times n + 1 dòng. Tại dòng thứ i, nếu loại bỏ điểm i thì tạo được n cặp điểm tình bạn thì in YES hoặc NO với trường hợp còn lại.
Subtask
  • Subtask 1 :(20\%) n\le 100.
  • Subtask 2 :(80\%) không có giới hạn gì thêm.

Sample

FRIEND.inp
2
1 2
3 2
4 5
3 1
1 5
FRIEND.out
YES
NO
YES
YES
NO

Hình chữ nhật đẹp (Nghệ An 2024)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: B1.INP
  • Tệp ra: B1.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

Số song nguyên tố (Vinh 2025)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: PRIME.INP
  • Tệp ra: PRIME.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB