Ôn chuyên 161225
Dãy con liên tiếp dài nhất có tổng chia hết cho K
Nộp bàiPoint: 1
Cho mảng A có N phần tử và số nguyên dương K, hãy tìm dãy con liên tiếp dài nhất có tổng các phần tử chia kết cho K. In ra số lượng phần tử của dãy con liên tiếp dài nhất nếu tồn tại hoặc in ra -1 nếu không có dãy con nào chia hết cho K
Ràng buộc: ~1 \leq K \leq N \leq 10^6~; ~-10^6 \leq A[i] \leq 10^6~
Input:
12 2
-4 1 4 -1 4 4 -3 4 2 -4 2 4
Output:
10
Loại bỏ trùng
Nộp bàiPoint: 1
Viết chương trình cho phép nhập vào mảng A gồm n phần tử số nguyên (n>2). Thực hiện loại bỏ các phần tử đã xuất hiện và In ra mảng kết quả.
Định dạng đầu vào:
Dòng đầu tiên là số phần tử của mảng
Dòng thứ hai là các phần tử của mảng
Định dạng đẩu ra: Mảng kết quả
INPUT:
7
1 5 10 10 5 2 3
OUTPUT:
1 5 10 2 3
Nhỏ nhất và nhỏ nhì
Nộp bàiPoint: 1
Viết chương trình cho phép nhập vào mảng A gồm n phần tử số nguyên (n>2). Tìm giá trị nhỏ nhất và nhỏ thứ hai và in ra.
Định dạng đầu vào:
- Dòng đầu tiên là số phần tử của mảng
- Dòng thứ hai là các phần tử của mảng
Định dạng đầu ra: Giá trị nhỏ nhất và giá trị nhỏ thứ hai
INPUT:
6
80 23 79 58 11 10
OUTPUT:
10 11
Đếm các phần tử xuất hiện nhiều hơn một lần và liệt kê
Nộp bàiPoint: 1
Viết chương trình cho phép nhập vào mảng A gồm n phần tử số nguyên (n>2). Đếm các phần tử xuất hiện nhiều hơn một lần và liệt kê.
Định dạng đầu vào:
- Dòng đầu tiên là số phần tử của mảng
- Dòng thứ hai là các phần tử của mảng
Định dạng đầu ra:
- Dòng đầu tiên là số các phần tử thỏa mãn
- Dòng thứ hai là các phần tử thõa mãn
INPUT:
7
1 5 10 10 5 2 3
OUTPUT:
2
5 10
Dãy con liên tiếp các phần tử kề nhau đều khác nhau
Nộp bàiPoint: 1
Cho một dãy số nguyên có n phần tử. Tìm dãy con liên tiếp có các phần tử liền kề khác nhau có độ dài lớn nhất.
Đầu vào:
- Dòng đầu tiên là số lượng phần tử trong mảng n. (1≤n≤10^6).
- Dòng thứ 2 là các phần tử ai trong mảng . (-10^9≤ai≤10^9).
Đầu ra: Kết quả của bài toán.
Input:
10
1 2 3 3 3 4 5 2 1 3
Output:
6
Vận dụng:
- Tìm dãy con liên tiếp có các phần tử giống nhau có độ dài dài nhất.
- Tìm dãy con liên tiếp có 2 phần tử liền kề nhau trái dấu có độ dài dài nhất.
Dãy tăng dài nhất
Nộp bàiPoint: 1
Một đoạn tăng trong một dãy số nguyên là một đoạn liên tiếp trong dãy sao cho phần từ phía sau lớn hơn phần từ phía trước. Cho dãy số với n phần tử (n không quá 100, các phần tử đều không quá 1000). Viết chương trình tìm các đoạn tăng liên tiếp trong dãy mà số phần tử là nhiều nhất.
Input: Dòng đầu ghi số bộ test. Mỗi test gồm 2 dòng, dòng đầu ghi số N là số phần tử của dãy. Dòng sau ghi N số của dãy. N không quá 100, các số trong dãy đều nguyên dương và không quá 1000.
Output: Với mỗi bộ test, ghi ra thứ tự bộ test. Sau đó là 1 dòng ghi độ dài của đoạn tăng dài nhất. Tiếp theo là một số dòng ghi lần lượt các đoạn tăng dài nhất, từ trái qua phải trong dãy ban đầu.
Ví dụ:
Input:
2
16
2 3 5 7 4 5 8 9 7 11 8 9 6 7 10 12
12
2 3 2 3 2 3 2 2 2 3 4 1
Output:
Test 1:
4
2 3 5 7
4 5 8 9
6 7 10 12
Test 2:
3
2 3 4