[DSA T6 2024]. TEST 5. SẮP XẾP & TÌM KIẾM, THAM LAM

Chia đôi số nguyên

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Phép chia đôi 1 số nguyên N được định nghĩa là việc bạn sẽ tách các chữ số của N thành 2 phần trước và sau, nếu số lượng chữ số của N là số chẵn bạn có thể chia đều số lượng chữ số của N thành 2 phần, ngược lại nếu số lượng chữ số của N là số lẻ thì chữ số đứng chính giữa sẽ bị bỏ đi. Trong trường hợp nếu số ở phần sau có số 0 ở đầu thì nó sẽ được loại bỏ.

Ví dụ : N = 123456 sẽ được chia đôi làm 2 số là 123 và 456, N = 12345 sẽ được chia đôi làm 2 số là 12 và 45, chữ số 3 đứng chính giữa sẽ bị bỏ đi Bây giờ 28Tech muốn bạn liệt kê những số thỏa mãn tổng 2 số của phép chia đôi của nó là 1 số nguyên tố trong đoạn [1, K), lưu ý ko xét cận K

Ví dụ : số 126 thỏa mãn vì 2 số tạo bởi phép chia đôi của nó là 1 và 6 có tổng bằng 7 là 1 số nguyên tố. Số10203 thỏa mãn vì 2 số tạo bởi phép chia đôi của nó là 10 và 3 có tổng bằng 13 là 1 số nguyên tố.


Đầu vào

Dòng duy nhất chứa số nguyên K


Giới hạn

1<=K<=10^6


Đầu ra

In ra các số thỏa mãn viết cách nhau 1 khoảng trắng


Ví dụ :

Input 01
102
Output 01
11 12 14 16 20 21 23 25 29 30 32 34 38 41 43 47 49 50 52 56 58 61 65 67 70 74 76 83 85 89 92 94 98 101

[Tham Lam]. Bài 6. Max product of two array

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho mảng A[], B[] đều có N phần tử. Nhiệm vụ của bạn là tìm giá trị lớn nhất của tích A[0] x B[0] + A[1] x B[1] + .. + A[N-1] x B[N-1], bạn được phép thay đổi thứ tự các phần tử trong mảng A[]B[] trước khi tính toán.


Đầu vào

Dòng 1 chứa số nguyên dương N

Dòng 2 chứa N số nguyên của mảng A[]

Dòng 3 chứa N số nguyên của mảng B[]


Giới hạn

1<=N<=10^6

0<=A[i], B[i]<=10^6


Đầu ra

In ra đáp án của bài toán


Ví dụ :

Input 01
3
1 2 1 
2 6 6
Output 01
20

[Tham Lam]. Bài 3. Tích lớn nhất

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho mảng A[] gồm N phần tử, nhiệm vụ của bạn là sắp xếp lại dãy số này để tổng A[0] * 0 + A[1] * 1 + A[2] * 2 + ... + A[N - 1] * (N - 1) đạt giá trị lớn nhất


Đầu vào

Dòng 1 là N

Dòng 2 là N số trong mảng A[] viết cách nhau 1 dấu cách


Giới hạn

1<=N<=10^6

1<=A[i]<=10^9


Đầu ra

In ra kết quả lớn nhất đạt được sau khi chia dư cho 10^9 + 7


Ví dụ :

Input 01
5 
1 1 2 1 3
Output 01
21

[Tham Lam]. Bài 49. Mảng bằng nhau

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

28Tech định nghĩa 2 mảng bằng nhau là 2 mảng mà tích các phần tử trong 2 mảng này bằng nhau. Cho 2 mảng A[], B[] gồm N, M phần tử, bạn hãy xác định xem mảng A[], B[] có bằng nhau hay không, nếu có in 28tech, ngược lại in ra 29tech.


Đầu vào

Dòng 1 là NM

Dòng 2 gồm N số trong mảng A[]

Dòng 3 gồm M số trong mảng B[]


Giới hạn

1<=N,M<=10^5

1<=A[i],B[i]<=6.10^18


Đầu ra

In ra 28tech hoặc 29tech theo yêu cầu


Ví dụ :

Input 01
2 3
9 3
3 3 3
Output 01
28tech

[Tham Lam]. Bài 4. Chia mảng

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho mảng A[] gồm N phần tử và số nguyên K, bạn hãy chia mảng thành 2 tập con (không cần liên tiếp) có KN - K phần tử sao cho độ chênh lệch giữa tổng của 2 tập con là lớn nhất có thể.


Đầu vào

Dòng 1 chứa 2 số nguyên NK

Dòng thứ 2 gồm N số của mảng A[]


Giới hạn

1<=K<=N<=10^6

0<=A[i]<=10^9


Đầu ra

In ra đáp án của bài toán


Ví dụ :

Input 01
5 3
2 8 9 1 3
Output 01
17