1. Trang chủ
  2. » Công Nghệ Thông Tin

TỔNG HỢP CÁC DẠNG BÀI TẬP C++

38 1,4K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 38
Dung lượng 1,02 MB

Nội dung

BÀI TẬP C++ LCM & GCD Cho hai số nguyên a, b Nhiệm vụ bạn tìm LCM(a, b) GCD(a,b) Input:  Dòng đưa vào T số lượng test  T dòng dòng đưa vào test Mỗi test cặp số a, b viết cách vào khoảng trống  T, a, b thỏa mãn ràng buộc: 1≤T≤100; 1≤a, b≤108; Output:  Đưa kết test theo dòng Input 10 14 Output 10 56 2 LCM of Array Cho hai số tự nhiên n Nhiệm vụ bạn tìm số nguyên nhỏ chia hết cho 1, 2, , n Input:  Dòng đưa vào T số lượng test  T dòng dòng đưa vào test Mỗi test số tự nhiên n  T thỏa mãn ràng buộc: 1≤T≤104; Output:  Đưa kết test theo dòng Input Output 60 GCD of Aray Cho hai hàm h(x) g(x) xác định tập số tự nhiên A[] gồm n phần tử Trong đó, h(x) tích số mảng A[], g(x) ước số chung lớn số mảng A[] Nhiệm vụ bạn tìm giá trị h(x)g(x) Chú ý, lời giải cho kết lớn đưa giá trị modulo với 109+7 Input:  Dòng đưa vào T số lượng test  T dòng tiếp đưa test Mỗi test gồm hai dòng: dòng đưa vào số n số phần tử mảng A[]; dòng đưa vào n số tự nhiên phân biệt vài khoảng trống  Các số T, N, A[i] thỏa mãn ràng buộc: 1≤T≤26; 1≤n≤60; 1≤A[i]≤104; Output:  Đưa kết test theo dòng Input 2 Output 64 GCD of Lager Number Cho hai số a b a≤1012, b≤10250 Nhiệm vụ bạn tìm ước số chung lớn hai số a, b Input:    Dòng đưa vào T số lượng test T dòng tiếp đưa test Mỗi test gồm hai dòng: dòng đưa vào số a; dòng đưa vào số b Các số T, a, b thỏa mãn ràng buộc: 1≤T≤100; 1≤a≤1012; 1≤b≤10250; Output:  Đưa kết test theo dòng Input 1221 1234567891011121314151617181920212223242526272829 Output GCD(a, x, y) Cho ba số a, x, y Nhiệm vụ bạn tìm ước số chung lớn hai số P Q, P lặp lại x lần số a Q lặp lại y lần số a Ví dụ a =2, x = 3, y =2 P=222, Q=22 Input:  Dòng đưa vào T số lượng test  T dòng tiếp đưa test Mỗi test viết dòng ba số a, x, y phân biệt vài khoảng trống  Các số T, a, x, y thỏa mãn ràng buộc: 1≤T≤100; 1≤a, x, y≤1018; Output:  Đưa kết test theo dòng Input 2 123 Output 123 GCD(n, m) Cho hai số tự nhiên n, m Nhiệm vụ bạn xác định xem chia số từ đến n thành hai tập cho giá trị tuyệt đối tổng hai tập m tổng phần tử hai tập số đồng nguyên tố (co-prime : nguyên tố nhau) hay khơng? Ví dụ n =5, m = ta có kết Yes ta chia thành tập {1, 2, 3, 5} có giá trị tuyệt đối tổng hai tập số nguyên tố Với n=6, m=3 ta có câu trả lời No ta tìm hai tập {1, 2, 4, 5} {3, 6} có trị tuyệt đối tổng nhiên cặp 12=1+2+4+5 9=3 + không đồng nguyên tố Input:  Dòng đưa vào T số lượng test  T dòng tiếp đưa test Mỗi test viết dòng hai số n, m phân biệt vài khoảng trống  Các số T, n, m, thỏa mãn ràng buộc: 1≤T≤100; 1≤n,m≤1012; Output:  Đưa kết test theo dòng Input Output Yes No Smallest Number Cho bốn số nguyên dương X, Y, Z N Hãy tìm số ngun dương nhỏ có N chữ số chia hết đồng thời cho X, Y, Z Ví dụ với X = 2, Y = 3, Z = 5, N = ta tìm số nguyên dương nhỏ có chữ số 1020 chia hết cho 2, 3, Input:  Dòng đưa vào số lượng test T (T≤100)  Những dòng đưa vào T test Mỗi test bốn số X, Y, Z, N Các số X, Y, Z, N thỏa mãn ràng buộc đây: 1≤ X, Y, Z ≤105; N≤18 Output:  Đưa theo dòng kết test số nguyên nhỏ có N chữ số chia hết đồng thời cho X, Y, Z Trong trường hợp khơng có số nguyên N chữ số thỏa mãn yêu cầu toán đưa giá trị -1 Input Output 1020 120 -1 Re-arrang Array Cho mảng A[] gồm n số nguyên dương Hãy đặt lại phần tử mảng cho ghép phần tử ta nhận số lớn Ví dụ với A[] ={54, 546, 548, 60} ta nhận số lớn 6054854654 Đối với mảng A[] = {1, 34, 3, 98, 9, 76, 45, 4} ta nhận số lớn 998764543431 Input:   Dòng đưa vào số lượng test T Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng ghi lại số phẩn tử mảng A[] Dòng đưa vào n số phân biệt phần tử A[]  Các số T, n, A[i] thỏa mãn ràng buộc: 1≤ T ≤100;1≤ N ≤102; 1≤ A[i] ≤103; Output:  Đưa theo dòng kết test Input Output 6054854654 998764543431 54 546 548 60 34 98 76 45 Lagest Smaller N Cho số tự nhiên N Bạn phép sử dụng nhiều phép đổi chỗ để nhận số lớn nhỏ N Ví dụ với số N=12435, sử dụng phép đổi chỗ ta nhận số lớn nhỏ N 12354 Với số N=12345 ta khơng có phép đổi chỗ Input:  Dòng đưa vào T số lượng test  T dòng tiếp đưa test Mỗi test viết dòng xâu ký tự số khơng có ký tự ‘0’  Các số T, N thỏa mãn ràng buộc: 1≤T≤100; 1≤length(N) ≤105; Output:  Đưa kết test theo dòng, -1 xem test khơng có phép đổi chỗ Input Output 12435 12435 -1 12345 10 Số đối xứng lớn Cho số nguyên dương gồm N chữ số Bạn phép thực hai thao tác: Thao tác A: loại bỏ tất chữ số giống Thao tác B: đặt lại vị trí chữ số Hãy tìm số nguyên đối xứng lớn tạo cách thực hai thao tác A B Ví dụ với số N = 1122233300000998, ta tạo số đối xứng lớn 910000019 cách thực thao tác A, B sau: Thao tác A: loại bỏ chữ số ta nhận số 1133300000998 Thao tác A: loại bỏ chữ số ta nhận số 1100000998 Thao tác A: loại bỏ chữ số ta nhận số 110000099 Thao tác B: đặt lại số lại 110000099 để số 910000019 Input:    Dòng đưa vào số lượng test T Những dòng đưa vào test Mỗi test số nguyên dương có N chữ số T, N thỏa mãn ràng buộc: 1≤T≤100; 1≤N≤1000 Output:  Đưa số nguyên lớn tạo thao tác A, B test theo dòng Input: 12345000 11233300000998 Output: 910000019 11 Prime Facstors Cho số nguyên dương N Hãy đưa tất ước số nguyên tố N Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test số nguyên dương N ghi dòng  T, N thỏa mãn ràng buộc: 1≤T≤100; 2≤N≤1010 Output:  Đưa kết test theo dòng Input: 315 31 Output: 3 31 12 Max Prime Facstors Cho số nguyên dương N Hãy đưa ước số nguyên tố lớn N Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test số nguyên dương N ghi dòng  T, N thỏa mãn ràng buộc: 1≤T≤100; 2≤N≤1010 Output:  Input: 315 Đưa kết test theo dòng Output: 31 31 13 Prime Eratosthenes Cho số nguyên dương N Hãy đưa tất số nguyên tố nhỏ N Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test số nguyên dương N ghi dòng  T, N thỏa mãn ràng buộc: 1≤T≤100; 2≤N≤104 Output:  Đưa kết test theo dòng Input: 10 35 Output: 7 11 13 17 19 23 29 31 14 Least Prime Factor Cho số tự nhiên N Nhiệm vụ bạn in ước số nguyên tố nhỏ số từ đến N Ước số nguyên tố nhỏ Ước số nguyên tố nhỏ số chẵn Ước số nguyên tố nhỏ số nguyên tố Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test số N ghi dòng  T, N thỏa mãn ràng buộc: 1≤T≤100; 1≤N≤10000 Output:  Đưa kết test theo dòng Input: 10 Output: 123252 1232527232 15 Prime in Range Hãy sinh tất số nguyên tố khoảng [M, N] Ví dụ M=1, N=10 ta có kết Input:  Dòng đưa vào số lượng test T  Những dòng dòng đưa vào test Mỗi test đôi M, N viết cách vài khoảng trống  T, M, N thỏa mãn ràng buộc: 1≤T≤100; 1≤M≤N≤10000; N-M≤10000 Output:  Input: 10 Đưa kết test theo dòng Output: 16 Pair Primes Cho số nguyên dương chẵn N>2 Hãy đưa cặp số nguyên tố p, q có tổng N Ví dụ N = ta có cặp số nguyên tố + =6 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test số chẵn N  T, N thỏa mãn ràng buộc : 1≤T≤100; 4≤N≤10000 Output:  Đưa kết test theo dòng Input: 74 1024 Output: 71 1021 17 Sphenic Number Số nguyên dương N gọi số Sphenic N phân tích dạng tích ba số khác Ví dụ N=30 số Sphenic 30 = 2×3×5; N = 60 khơng phải số Sphenic 60 = 2×2×3×5 Cho số tự nhiên N, nhiệm vụ bạn kiểm tra xem N có phải số Spheic hay khơng? Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test số nguyên dương N  T, N thỏa mãn ràng buộc : 1≤T≤100; 1≤N≤10000 Output:  Đưa tương ứng với N số Sphenic không test theo dòng Input: 30 60 Output: 18 Cho số tự nhiên N số nguyên tố P Nhiệm vụ bạn tìm số x lớn để N! chia hết cho px Ví dụ với N=7, p=3 x=2 số lớn để 7! Chia hết cho 32 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test cặp số N, p viết cách vài khoảng trống  T, N, p thỏa mãn rang buộc : 1≤T≤100; 1≤N≤105; 2≤p≤5000; Output:  Đưa kết test theo dòng Input: 62 76 Output: 73 19 Cho số tự nhiên N Nhiệm vụ bạn đưa tất ước số nguyên tố N lũy thừa Ví dụ N=100 = 22 × 52 N = 35 =51 × 71 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test số nguyên N  T, N thỏa mãn rang buộc 1≤T≤100; 1≤N≤10000 Output:  Input: Đưa kết test theo dòng Output: 100 35 2252 5171 20 Smith Number Cho số tự nhiên N Nhiệm vụ bạn kiểm tra N có phải số Smith hay khơng Một số gọi số Smith N số nguyên tố có tổng chữ số N tổng chữ số ước số nguyên tố N Ví dụ N = 666 có ước số nguyên tố 2, 3, 3, 37 có tổng chữ số 18 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test số nguyên N  T, N thỏa mãn rang buộc 1≤T≤100; 1≤N≤100000 Output:  Đưa kết test theo dòng Input: 666 Output: Yes No 21 Perfect Number Cho số tự nhiên N Nhiệm vụ bạn kiểm tra N có phải số hồn hảo hay khơng Một số N gọi số hoàn hảo tổng ước số nó Ví dụ N = 6=1 + + số hoàn hảo Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test số nguyên N  T, N thỏa mãn rang buộc 1≤T≤100; 1≤N≤1018 Output:  Đưa kết test theo dòng Input: 21 Output: 22 Kth Prime Divisors Cho số tự nhiên N Nhiệm vụ bạn đưa ước số nguyên tố thứ k N Đưa không tồn ước số thứ k N Ví dụ N = 255, k =2 ta có kết 255 = 3×3×5×5 Với N = 81, k = ta có kết -1 81 = 3×3×3×3 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test đôi N k  T, N thỏa mãn rang buộc 1≤T≤100; 1≤N, k≤104 Output:  Input: 25 81 Đưa kết test theo dòng Output: -1 23 Số số có ước số lẻ Cho số tự nhiên N Nhiệm vụ bạn đếm số số có ước số lẻ nhỏ N Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test số N  T, N thỏa mãn rang buộc 1≤T≤100; 1≤N ≤109 Output:  Đưa kết test theo dòng Input: Output: 24 Number 3-Divisors Cho số tự nhiên N Nhiệm vụ bạn liệt kê tất số có ba ước số Ví dụ n=100, ta có số 4, 9, 25, 49 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test số N  T, N thỏa mãn rang buộc 1≤T≤100; 1≤N ≤106 Output:  Đưa kết test theo dòng Input: 50 200 Output: 25 49 25 49 121 169 25 Smallest Divisors Cho số tự nhiên N Nhiệm vụ bạn đưa ước số nguyên tố nhỏ số từ đến N Ví dụ n=10, ta có kết : Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test số N  T, N thỏa mãn rang buộc 1≤T≤100; 1≤N ≤106 Output:  Input: 10 Đưa kết test theo dòng Output: 123 26 Number 3-Divisors Cho số tự nhiên N Nhiệm vụ bạn đếm tất số có ba ước số Ví dụ n=100, ta có số Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test số N  T, N thỏa mãn rang buộc 1≤T≤100; 1≤N ≤1012 Output:  Đưa kết test theo dòng Input: 50 200 Output: 27 Number 3-Divisors Cho hai số L, R Nhiệm vụ bạn đếm tất số có ba ước số khoảng [L, R] Ví dụ L =1, R =10, ta có kết có số có ước số Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test cặp số L, R  T, N thỏa mãn rang buộc 1≤T≤100; 1≤L, R ≤1012 Output:  Đưa kết test theo dòng Input: 10 1000000000000 Output: 78498 28 Number 3-Divisors Cho bốn số M, N, A, B Nhiệm vụ bạn đếm tất số khoảng [M, N] chia hết cho số A, B Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm số M, N, A, B  T, M, N, A, B thỏa mãn rang buộc 1≤T≤100; 1≤M, N ≤105; 1≤A, B ≤500; Output:  Đưa kết test theo dòng Input: 11 1000 Output: 289 29 Cho ba số nguyên dương x, y, p Nhiệm vụ bạn tính (xy) %p Ví dụ với x = 2, y = 3, p = (23)%5=3 Input:  Dòng đưa vào số lượng test T  Những dòng dòng đưa vào test Mỗi test ba x, y, p viết cách vài khoảng trống  T, x, y, p thỏa mãn ràng buộc : 1≤T≤100; 1≤x, y≤106; 1≤P≤109+7 Output:  Đưa kết test theo dòng Input: Output: 235 324 30 Cho hai số nguyên dương a m Nhiệm vụ bạn tìm x nhỏ khoảng [0,m-1] cho a * x  1( mod m) Ví dụ a = 3, m=11 ta tìm x = 4*3%11=1 Input:   Dòng đưa vào số lượng test T Những dòng dòng đưa vào test Mỗi test đôi a, m viết cách vài khoảng trống T, a, m thỏa mãn ràng buộc : 1≤T≤100; 1≤a ≤m≤100  Output:  Đưa kết test theo dòng Nếu phương trình đồng dư khơng có nghiệm, hày đưa -1 Input: Output: 11 12 10 17 31 Cho hai số nguyên không âm N K Nhiệm vụ bạn tìm S = 1%K + 2%K + + N%K Ví dụ với N = 10, K=2 ta có S = 1%2 + 2%2+3%2 + 4%2+5%2+6%2+7%2+8%2+9%2+10%2 = Yêu cầu độ phức tạp thuật tốn số Input:  Dòng đưa vào số lượng test T  Những dòng dòng đưa vào test Mỗi test đôi N, K viết cách vài khoảng trống  T, N, K thỏa mãn ràng buộc : 1≤T≤100; 0≤N ≤1000; 0≤K ≤1012 Output:  Đưa kết test theo dòng Input: Output: 55 10 55 10 11 32 Cho hai số nguyên không âm N K Nhiệm vụ bạn kiểm tra xem K = 1%K + 2%K + + N%K hay không Đưa cặp N, K thỏa mãn không thỏa mãn yêu cầu tốn Ví dụ với N = 10, K=55 ta có kết 55= 1%55 + 2%55+3%55 + + 10%55 Ngược lại, N=4, K=11 có kết 11≠1%11+ 2%11+3%11+4%11 Input:  Dòng đưa vào số lượng test T  Những dòng dòng đưa vào test Mỗi test đôi N, K viết cách vài khoảng trống  T, N, K thỏa mãn ràng buộc : 1≤T≤100; 0≤N ≤1000; 0≤K ≤1012 Output:  Đưa kết test theo dòng Input: Output: 10 55 11 33 Cho số nguyên dương N lớn biểu diễn xâu số M Hãy tìm K = N%M Ví dụ N=123456789873123456778976, M = 100 K=76 Input:  Dòng đưa vào số lượng test T  Những dòng dòng đưa vào test Mỗi test đơi N, M viết hai dòng khác  T, N, M thỏa mãn ràng buộc : 1≤T≤100; 0≤length(N) ≤1000; 2≤M ≤1012 Output:  Đưa kết test theo dòng Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng đưa vào n số phần tử mảng A[]; dòng đưa vào n số A[i] mảng; số viết cách vài khoảng trống  T, n, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤107; 0≤ A[i] ≤107 ; Output:  Đưa kết test theo dòng Input: Output: 12743 73 Oder Statistics Cho mảng A[] gồm n số thiết lập theo nguyên tắc nửa đầu tăng dần nửa sau giảm dần Hãy tìm số lớn mảng Ví dụ với mảng A[] = {1, 2, 3, 4, 5, 2, 1}, ta có kết Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng đưa vào n số phần tử mảng A[]; dòng đưa vào n số A[i] mảng; số viết cách vài khoảng trống  T, n, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤107; 0≤ A[i] ≤107 ; Output:  Đưa kết test theo dòng Input: Output: 7 1234521 12743 74 Oder Statistics Cho mảng A[] gồm n số sinh ngẫu nhiên Hãy tìm độ dài dãy tăng dài phần tử mảng Chú ý, dãy mảng không thiết liên tục Hai phần tử giống mảng ta xem độ dài dãy tăng Ví dụ với mảng A[] = {5, 8, 3, 7, 9, 1}, ta có kết Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng đưa vào n số phần tử mảng A[]; dòng đưa vào n số A[i] mảng; số viết cách vài khoảng trống  T, n, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤103; 0≤ A[i] ≤103 ; Output:  Đưa kết test theo dòng Input: Output: 16 12 10 14 13 11 15 583791 75 Oder Statistics 10 Cho mảng A[] gồm n số sinh ngẫu nhiên Hãy tìm độ dài dãy tăng dài phần tử mảng Chú ý, dãy mảng không thiết liên tục Hai phần tử giống mảng ta xem độ dài dãy tăng Ví dụ với mảng A[] = {5, 8, 3, 7, 9, 1}, ta có kết Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng đưa vào n số phần tử mảng A[]; dòng đưa vào n số A[i] mảng; số viết cách vài khoảng trống  T, n, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤103; 0≤ A[i] ≤103 ; Output:  Đưa kết test theo dòng Input: Output: 16 12 10 14 13 11 15 583791 76 Oder Statistics 11 Cho mảng A[] gồm n số nguyên bao gồm số Nhiệm vụ bạn tìm số ngun dương nhỏ khơng có mặt mảng Ví dụ với mảng A[] = {5, 8, 3, 7, 9, 1}, ta có kết Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng đưa vào n số phần tử mảng A[]; dòng đưa vào n số A[i] mảng; số viết cách vài khoảng trống  T, n, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤106; 10-6≤ A[i] ≤106 ; Output:  Đưa kết test theo dòng Input: Output: 12345 -10 -20 77 Oder Statistics 12 Cho hai mảng xếp A1[] A[2] gồm n, m phần tử theo thứ tự Nhiệm vụ bạn tìm tổng lớn sơ bắt đầu phần tử mảng kết thúc phần tử cuối hai mảng Ví dụ với mảng A1[] = {2, 3, 7, 10, 12}, A2[] = { 1, 5, 7, 8} ta có kết 35 tương ứng với tổng S = 1+5+7+10+12 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng đưa vào n số phần tử mảng A[]; dòng đưa vào n số A[i] mảng; số viết cách vài khoảng trống  T, n, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤103; 1≤ A1[i], A2[j] ≤104; Output:  Đưa kết test theo dòng Input: Output: 35 54 10 12 1578 78 Oder Statistics 11 Cho mảng A[] gồm n phần tử Nhiệm vụ bạn tìm giá trị nhỏ lớn A[i] (i=0, 1, 2, , n-1) Đưa ‘_’ A[i] khơng có phần tử nhỏ Ví dụ với mảng A[] = {13, 6, 7, 12}, ta có kết { _ , 12, 13} Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng đưa vào n số phần tử mảng A[]; dòng đưa vào n số A[i] mảng; số viết cách vài khoảng trống  T, n, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤106; 10-6≤ A[i] ≤106 ; Output:  Đưa kết test theo dòng Input: Output: 10 15 _ _ 12 13 10 15 13 12 79 Range Querry Cho mảng A[] gồm n phần tử Q câu hỏi Mỗi câu hỏi Q đôi hai số L R Nhiệm vụ bạn tìm tổng phần tử mảng A[] câu hỏi Q Ví dụ với mảng A[] = {1, 1, 2, 1, 3, 4, 5, 2, 8}, câu hỏi Q: [0, 4], [1, 3], [2, 4] ta có câu trả lời : , 4, Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm ba phần: phần thứ đưa vào n, Q số phần tử mảng A[] số lượng câu hỏi Q; phần đưa vào n số A[i] mảng; phần cuối đưa vào Q câu hỏi, câu hỏi đôi L, R; số viết cách vài khoảng trống  T, n, Q, L, R, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ L≤ R ≤n, Q, ≤104; 1≤ A[i] ≤103; Output:  Đưa kết test theo dòng Input: Output: 10 15 _ _ 12 13 1 4 80 Range Querry Cho mảng A[] gồm n phần tử câu hỏi Q Mỗi câu hỏi Q đôi hai số L R Nhiệm vụ bạn xác định xem dãy A[] khoảng [L, R] có tạo nên dãy Mountain hay không ? Dãy Mountain dãy chia thành hai phần : phần thứ tăng phần thứ hai giảm Ví dụ với mảng A[] = {2, 3, 2, 4, 4, 6, 3, 2}, câu hỏi Q: [0, 2], [2, 7], [2, 3], [1, 3] ta có câu trả lời : Yes, Yes, Yes, No tương ứng với dãy Mountain [2, 3, 2], [2, 4, 4, 6, 3, 2], [2, 4], [3, 2, 4] Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai phần: phần thứ đưa vào n, L, R số phần tử mảng A[] câu hỏi Q; phần đưa vào n số A[i] mảng; số viết cách vài khoảng trống  T, n, L, R, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ L≤ R ≤n, ≤104; 1≤ A[i] ≤103 ; Output:  Đưa kết test theo dòng Input: Output: 23244632 02 23244632 13 Yes No 81 Range Querry Cho câu hỏi Q đôi hai số L R Nhiệm vụ bạn xác định xem có số nguyên tố khoảng [L, R] Ví dụ với Q = [1, 10] ta có câu trả lời có {2, 3, 5, 7} số nguyên tố Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test đôi L, R số viết cách vài khoảng trống  T, L, R thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ L≤ R ≤105; Output:  Đưa kết test theo dòng Input: Output: 10 10 82 Range Querry Cho mảng A[] gồm n phần tử Nhiệm vụ bạn tìm tổng lớn dãy liên tục mảng A[] Ví dụ với A[] = { -2, -3, 4, -1, -2, 1, 5, -3} ta có câu trả lời tương ứng với tổng lớn dãy liên tục {4, -1, -2, 1, 5} Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng số phần tử mảng n; dòng n số A[i] mảng A[]; số viết cách vài khoảng trống  T, n, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤106; 10-6≤ A[i] ≤106 Output:  Đưa kết test theo dòng Input: Output: -1 -2 -1 -2 -3 -4 83 Range Querry Cho mảng A[] gồm n số nguyên Giá trị phần tử biểu diễn số lượng lớn bước ta dịch chuyển từ phần tử Phần tử có giá trị hiểu ta khơng phép dịch chuyển Xuất phát từ phần tử đầu tiên, đếm số lượng bước dịch chuyển đến phần tử cuối mảng Ví dụ với A[] = { 1, 3, 5, 8, 9, 2, 6, 7, 6, 8, 9} ta có câu trả lời tương ứng với phép dịch chuyển: -> 3->8->9 (A[0] =1 nên ta dịch chuyển nhiều bước đến A[1]; A[1] = nên ta phép dịch chuyển nhiều bước tương ứng với A[2]=5, A[3]=8, A[4] = 9; A[3] = nên ta cần dịch chuyển bước đến đích Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng số phần tử mảng n; dòng n số A[i] mảng A[]; số viết cách vài khoảng trống  T, n, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤107; 1≤ A[i] ≤107 Output:  Đưa số bước dịch chuyển test, đưa -1 ta khơng có phép dịch chuyển đến đích Input: Output: 11 13589267689 143267 84 Range Querry Cho mảng A[] gồm n số nguyên dương Hãy tìm tổng lớn dãy tăng dần dãy số A[] Ví dụ với A[] = { 1, 101, 2, 3, 100, 4, 5} ta có câu trả lời 106=1+2+3+100 Với dãy A[] = {10, 5, 4, 3} ta có câu trả lời 10 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng số phần tử mảng n; dòng n số A[i] mảng A[]; số viết cách vài khoảng trống  T, n, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤107; 1≤ A[i] ≤107 Output:  Đưa kết test theo dòng Input: Output: 106 10 101 100 10 85 Range Querry Cho mảng A[] gồm n số nguyên số X Hãy tìm độ dài dãy liên tục nhỏ có tổng lớn X Ví dụ với A[] = { 1, 4, 45, 6, 0, 19} X = 51 ta có câu trả lời tương ứng với dãy {4, 45, 6} Với dãy A[] = {1, 10, 5, 2, 7} X =10 ta có câu trả lời tương ứng với dãy {10} Với dãy A[] = {1, 2, 4}và X=8 ta có câu trả lời -1 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng số phần tử mảng n số X; dòng n số A[i] mảng A[]; số viết cách vài khoảng trống  T, n, X, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤107; 1≤ A[i] ≤107 Output:  Đưa kết test theo dòng Input: Output: 51 -1 45 19 38 124 86 Range Querry Cho mảng A[] gồm n số số nguyên dương k Hãy tìm dãy liên tục độ dài k có giá trị trung bình phần tử lớn Ví dụ với A[] = { 1, 12, -5, -6, 50, 3} k = ta có câu trả lời {12, 5, -6, 50} có trung bình phần tử lớn (12-5-6+30)/4=51 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng số phần tử mảng n số k; dòng n số A[i] mảng A[]; số viết cách vài khoảng trống  T, n, k, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ k≤n ≤103 ; -103≤ A[i] ≤103 Output:  Đưa kết test theo dòng Input: Output: 15 20 52 34 56 10 15 20 -12 34 56 87 Range Querry Cho mảng A[] gồm n số nguyên dương Mảng A[] gọi mảng mục tiêu Hãy tạo mảng bắt đầu S[] gồm n phần tử có phần tử ban đầu thiết lập Chỉ phép thực hai thao tác đây:  Thao tác (Increament Operation): tăng giá trị phần tử lên đơn vị  Thao tác (Double Operation ): nhân tồn phần tử mản với Hãy tìm số để dịch chuyển mảng bắt đầu S[] thành mảng mục tiêu A[] Ví dụ với A[] = { 16, 16, 16} ta cần thực thao tác sau: - Sử dụng thao tác Increament để biến : S[0] =1, S[1]=1, S[2]=1 - Sử dụng thao tác Double để biến : S[0] =16, S[1]=16, S[2]=16 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng số phần tử mảng n; dòng n số A[i] mảng A[]; số viết cách vài khoảng trống  T, n, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤103; 1≤ A[i] ≤103 Output:  Đưa kết test theo dòng Input: Output: 16 16 16 23 88 Range Querry 10 Cho mảng A[] gồm n số nguyên dương Hãy biến mảng A[] thành mảng đối xứng cho phép thay A[i] = Merge(A[i], A[i+1]) thực í Trong đó, Merge(A[i], A[i+1]) = A[i] + A[j] Ví dụ với A[] = {3, 2, 3, 3, 5} ta cần thực phép Merge(A[0], A[1]) để trở thành mảng A[] = {5, 3, 3, 5} Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng số phần tử mảng n; dòng n số A[i] mảng A[]; số viết cách vài khoảng trống  T, n, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤103; 1≤ A[i] ≤103 Output:  Đưa kết test theo dòng Input: Output: 32335 5334 89 Range Querry 11 Cho mảng A[] gồm n số chưa xếp Hãy tìm Min(A[i]-A[j]) : i ≠j i, j =0, 1, 2, , n-1 Ví dụ với A[] = {1, 5, 3, 19, 18, 25} ta có kết = 19-18 với A[] = {1, 19, -4, 31, 28, 35, 100} ta có kết = 1-(-4) Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng số phần tử mảng n; dòng n số A[i] mảng A[]; số viết cách vài khoảng trống  T, n, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤103; 1≤ A[i] ≤103 Output:  Đưa kết test theo dòng Input: Output: 24579 10 87 32 99 75 56 43 21 10 68 49 90 Range Querry 12 Cho mảng số nhị phân A1[] A2[] gồm n 0, Hãy tìm khoảng chung dài thỏa mãn: j ≥i span(i, j) = A1[i] + A1[i+1] + …+A1[j] = A2[i] + A2[i+1] + …+A2[j] Ví dụ với A1[] = {0, 1, 0, 0, 0, 0}, A2[] = {1, 0, 1, 0, 0, 1} ta có kết tương ứng với A1[1]+ A1[2]+ A1[3]+ A1[4] = A2[1]+ A2[2]+ A2[3]+ A2[4] = Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm ba dòng: dòng số phần tử mảng n; dòng n số A1[i] mảng A1[];dòng n số A2[i] mảng A2[];các số viết cách vài khoảng trống  T, n thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤103 Output:  Đưa kết test theo dòng Input: Output: 010000 101001 91 Sorting Cho mảng A[] gồm n số nguyên khác Hãy đưa phần tử mảng theo khuôn dạng lớn nhất, nhỏ nhất, lớn thứ hai, nhỏ thứ 2, … Ví dụ với A[] = {9, 7, 12, 8, 6, 5} ta đưa : 12, 5, 9, 6, 8, Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng số phần tử mảng n; dòng n số A [i] mảng A [];các số viết cách vài khoảng trống  T, n thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤103 Output:  Đưa kết test theo dòng Input: Output: 7162543 91827364 7123456 16943782 92 Sorting Cho mảng A[] gồm n phần tử số X Hãy đưa xếp phần tử mảng theo trị tuyệt đối |X - A[i] | Ví dụ với A[] = {10, 5, 3, 9, 2} X = ta đưa mảng xếp theo nguyên tắc kể trên: A[] = {5, 9, 10, 3, 2} |7-10|=3, |7-5|=2, |7-3|=4, |7-9|=2, |7-2|=5 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng số phần tử mảng n X; dòng n số A [i] mảng A [];các số viết cách vài khoảng trống  T, n, X thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n, X, A[i] ≤105 Output:  Đưa kết test theo dòng Input: Output: 10 57 54321 10 56 12345 93 Sorting Cho mảng A[] gồm n phần tử Hãy tìm số phép đổi chỗ phần tử mảng để mảng A[] xếp Ví dụ với A[] = {4, 3, 2, 1} ta cần thực phép đổi chỗ: Swap(A[0], A[3]), Swap(A[1], A[2]) Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng số phần tử mảng n X; dòng n số A [i] mảng A [];các số viết cách vài khoảng trống  T, n thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤103 Output:  Đưa kết test theo dòng Input: Output: 2 4321 15432 94 Sorting Cho mảng A[] gồm n phần tử, mảng B[] gồm m phần tử khác Các phần tử mảng A[] B[] xếp Hãy tìm mảng hợp giao A[] B[] Ví dụ với A[] = {1, 3, 4, 5, 7}, B[]={2, 3, 5, 6} ta có mảng hợp Union = {1, 2, 3, 4, 5, 6, 7}, mản giao Intersection = {3, 5} Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm ba dòng: dòng đưa vào n, m số phần tử mảng A[] B[]; dòng n số A [i] mảng A [];dòng m số B[i] mảng B[]; số viết cách vài khoảng trống  T, n, m, A[i], B[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n, m, A[i], B[i] ≤105 Output:  Đưa kết test theo dòng Input: Output: 12345 53 123 12345 123 95 Sorting Cho mảng A[] gồm n phần tử, mảng B[] gồm m phần tử khác Các phần tử mảng A[] B[] chưa xếp Hãy tìm mảng hợp giao A[] B[] Ví dụ với A[] = {7, 1, 5, 2, 3, 6}, B[]={3, 8, 6, 20, 7} ta có mảng hợp Union = {1, 2, 3, 5, 6, 7, 8, 20}, mảng giao Intersection = {3, 6} Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm ba dòng: dòng đưa vào n, m số phần tử mảng A[] B[]; dòng n số A [i] mảng A [];dòng m số B[i] mảng B[]; số viết cách vài khoảng trống  T, n, m, A[i], B[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n, m, A[i], B[i] ≤105 Output:  Đưa kết test theo dòng Input: Output: 1 20 65 20 96 Sorting Cho mảng A[] gồm n phần tử Các phần tử mảng A[] bao gồm số 0, 1, Hãy xếp mảng A[] theo thứ tự tăng dần Ví dụ với A[] = {0, 2, 1, 2, 0} ta kết A[] = {0, 0, 1, 2, 2} Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng đưa vào n số phần tử mảng A[]; dòng n số A [i] mảng A []các số viết cách vài khoảng trống  T, n, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 0≤ A[i] ≤2; 1≤ n ≤106 Output:  Đưa kết test theo dòng Input: Output: 02120 010 00122 001 97 Sorting Cho mảng A[] gồm n phần tử Hãy tìm dãy liên tục mảng A[R], , A[L] cho xếp lại dãy ta nhận mảng xếp Ví dụ với A[] = {10, 12, 20, 30, 25, 40, 32, 31, 35, 50, 60} ta cần xếp lại dãy từ A[3], , A[8]: {30, 25, 40, 32, 31, 35} để có mảng Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào T test Mỗi test gồm hai dòng: dòng đưa vào n số phần tử mảng A[]; dòng n số A [i] mảng A []các số viết cách vài khoảng trống  T, n, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤106; 0≤ A[i] ≤107 Output:  Đưa kết test theo dòng Input: Output: 38 11 25 10 12 20 30 25 40 32 31 35 50 60 15 25 30 40 50 98 Searching Cho mảng A[] gồm n phần tử Hãy tìm vị trí phần tử có giá trị X mảng A[] Nếu khơng tìm thấy X đưa -1 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm hai dòng: dòng thứ đưa vào n, X số phần tử mảng A[] số X cần tìm; dòng đưa vào n số A[i] (1≤i≤n) số viết cách vài khoảng trống  T, n, A, X thỏa mãn ràng buộc: 1≤T≤100; 1≤N, X, A[i] ≤106 Output:  Đưa kết test theo dòng Input: Output: 16 -1 16 98 22 57 47 34 18 66 99 Searching Cho mảng A[] gồm n phần tử xếp Hãy đưa X có mặt mảng A[], ngược lại đưa -1 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm hai dòng: dòng thứ đưa vào n, X số phần tử mảng A[] số X cần tìm; dòng đưa vào n số A[i] (1≤i≤n) số viết cách vài khoảng trống  T, n, A, X thỏa mãn ràng buộc: 1≤T≤100; 1≤N, X, A[i] ≤106 Output:  Đưa kết test theo dòng Input: 16 16 98 22 57 47 34 18 66 Output: -1 100 Searching Cho mảng A[] gồm n-1 phần tử bao gồm khác từ 1, 2, , n Hãy tìm số khơng có mặt mảng A[] Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm hai dòng: dòng thứ đưa vào n l; dòng đưa vào n-1 số A[i]; số viết cách vài khoảng trống  T, n, A thỏa mãn ràng buộc: 1≤T≤100; 1≤N, A[i] ≤107 Output:  Đưa kết test theo dòng Input: Output: 1235 10 10 101 Searching Một mảng chia thành hai đoạn tăng dần gọi mảng xếp vòng Ví dụ mảng A[] = { 5, 6, 7, 8, 9, 10, 1, 2, 3, 4} mảng xếp vòng Cho mảng A[] gồm n phần tử, tìm vị trí phần tử x mảng A[] với thời gian log(n) Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm hai dòng: dòng thứ đưa vào n x; dòng đưa vào n số A[i]; số viết cách vài khoảng trống  T, n, A[i], x thỏa mãn ràng buộc: 1≤T≤100; 1≤N, x, A[i] ≤107 Output:  Đưa kết test theo dòng Input: Output: 10 10 10 3 10 102 Searching Cho mảng A[] gồm n phần tử, đưa số nhỏ số nhỏ thứ hai mảng Nếu khơng có số nhỏ thứ hai, đưa -1 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm hai dòng: dòng thứ đưa vào n số phần tử mảng A[]; dòng đưa vào n số A[i]; số viết cách vài khoảng trống  T, n, A[i] thỏa mãn ràng buộc: 1≤T≤100; 1≤N, A[i] ≤107 Output:  Đưa kết test theo dòng Input: Output: 10 10 111 1 103 -1 Searching Cho mảng A[] gồm n phần tử, tìm cặp phần tử có tổng gần so với Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm hai dòng: dòng thứ đưa vào n số phần tử mảng A[]; dòng đưa vào n số A[i]; số viết cách vài khoảng trống  T, n, A[i] thỏa mãn ràng buộc: 1≤T≤100; 2≤N ≤103, -106≤A[i] ≤106 Output:  Đưa tổng gần với cặp phần tử Input: Output: -68 -14 -8 -66 -60 -21 -67 -37 -18 -65 104 Searching Cho mảng A[] gồm n phần tử, tìm k phần tử lớn mảng Các phần tử đưa theo thứ tự giảm dần Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm hai dòng: dòng thứ đưa vào N K; dòng đưa vào n số A[i]; số viết cách vài khoảng trống  T, N, K, A[i] thỏa mãn ràng buộc: 1≤T≤100; 1≤K < N ≤103, 1≤A[i] ≤106 Output:  Đưa tổng gần với cặp phần tử Input: Output: 12 10 53 12 10 12 62 12 105 Searching Cho mảng A[] gồm n phần tử xếp Hãy tìm số lần xuất số X mảng Nếu số lần xuất số x mảng đưa -1 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm hai dòng: dòng thứ đưa vào N X; dòng đưa vào n số A[i]; số viết cách vài khoảng trống  T, N, X, A[i] thỏa mãn ràng buộc: 1≤T≤100; 1≤ N ≤103, 1≤A[i], X ≤106 Output:  Đưa kết test theo dòng Input: Output: 72 1122223 74 1122223 -1 106 Searching Cho mảng A[] gồm n phần tử xếp Hãy tìm số lần xuất số X mảng Nếu số lần xuất số x mảng đưa -1 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm hai dòng: dòng thứ đưa vào N X; dòng đưa vào n số A[i]; số viết cách vài khoảng trống  T, N, X, A[i] thỏa mãn ràng buộc: 1≤T≤100; 1≤ N ≤103, 1≤A[i], X ≤106 Output:  Đưa kết test theo dòng Input: Output: 72 -1 1122223 74 1122223 107 Searching 10 Số tự nhiên N Hãy tìm cặp số ngun tố có tổng N Nếu không tồn cặp số nguyên tố có tổng N, đưa -1 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm số N ghi dòng  T, N thỏa mãn ràng buộc: 1≤T≤100; 1≤ N ≤106 Output:  Đưa kết test theo dòng Input: Output: 22 35 108 Searching 11 Cho mảng A[] gồm N phần tử chia thành hai phần: phần thứ bao gồm số theo thứ tự tăng dần; phần lại theo thứ tự giảm dần Nhiệm vụ bạn tìm số X có thuộc mảng A[] hay không với thời gian O(log(n)) Nếu tìm thấy X mảng A[] đưa vị trí X mảng A, ngược lại đưa -1 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm hai dòng: dòng thứ cặp số N, X; dòng N số A[i] phần tử mảng A[]  T, N, X, A[i] thỏa mãn ràng buộc: 1≤T≤100; 1≤ N ≤107, -107≤ X, A[i] ≤107 Output:  Đưa kết test theo dòng Input: Output: 10 -1 10 10 10 -1 109 Searching 12 Cho mảng A[] gồm N phần tử số X Nhiệm vụ bạn tìm cặp phần tử A[i] A[j] = X Nếu tồn A[i] - A[j] = X đưa 1, ngược lại đưa -1 Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm hai dòng: dòng thứ cặp số N, X; dòng N số A[i] phần tử mảng A[]  T, N, X, A[i] thỏa mãn ràng buộc: 1≤T≤100; 1≤ N ≤105, 1≤ X, A[i] ≤105 Output:  Đưa kết test theo dòng Input: Output: 78 -1 20 80 45 90 70 20 80 50 110 Searching 13 Mảng A[] gọi mảng xếp vòng A[] chia thành hai đoạn xếp Đọc từ phần tử nhỏ đến phần tử cuối vòng lại phần tử phần lại ta dãy xếp Ví dụ dãy A[] = {5, 6, 1, 2, 3, 4} mảng xếp vòng Nhiệm vụ bạn tìm phần tử nhỏ mảng xếp vòng với thời gian O(Log(n)) Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm hai dòng: dòng thứ đưa vào số phần tử mảng N; dòng N số A[i] phần tử mảng A[]  T, N, A[i] thỏa mãn ràng buộc: 1≤T≤100; 1≤ N ≤105, 1≤ A[i] ≤105 Output:  Đưa kết test theo dòng Input: Output: 5 45123 10 20 30 40 50 111 Searching 14 Cho mảng A[] gồm N phần tử Hãy tìm phần tử lặp lại mảng Ví dụ với mảng A[] = {5, 6, 1, 2, 1, 4} ta có phần tử lặp lại mảng Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm hai dòng: dòng thứ đưa vào số phần tử mảng N; dòng N số A[i] phần tử mảng A[]  T, N, A[i] thỏa mãn ràng buộc: 1≤T≤100; 1≤ N ≤106, 1≤ A[i] ≤106 Output:  Đưa kết test theo dòng Input: Output: 20 45121 10 20 30 30 20 112 Searching 17 Cho mảng A[] gồm N phần tử xếp Hãy tìm K phần tử gần X Ví dụ với mảng A[] = {1, 3, 5, 7, 9, 11}, X = 7, K=2 ta có phần tử gần Chú ý: X có mặt khơng có mặt mảng A[] Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm hai dòng: dòng thứ đưa vào số phần tử mảng N, K, X; dòng N số A[i] phần tử mảng A[]  T, N, K, X, A[i] thỏa mãn ràng buộc: 1≤T≤100; 1≤ N, K, X ≤106, 1≤ A[i] ≤106 Output:  Đưa kết test theo dòng Input: Output: 23 75 11 23 24 75 89 24 113 Searching 18 Cho mảng A[], B[], C[] gồm N1, N2, N3 phần tử xếp Hãy đưa phần tử có mặt ba mảng theo thứ tự tăng dần Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm bốn dòng: dòng thứ đưa vào N1, N2, N3 số phần tử mảng A[], B[], C[]; dòng đưa vào N1 số A[i], N2 số B[j], N3 số C[k]  T, N1, N2, N3, A[i], B[j], C[k] thỏa mãn ràng buộc: 1≤T≤100; 1≤ N1, N2, N3 ≤106, 0≤ A[i], B[j], C[k] ≤1018 Output:  Đưa kết test theo dòng Input: Output: 20 80 658 10 20 40 80 20 80 100 15 20 30 70 80 120 114 Searching 19 Cho mảng A[]gồm N phần tử Hãy đưa phần tử nhỏ thứ k mảng Input:  Dòng đưa vào số lượng test T  Những dòng đưa vào test Mỗi test gồm hai dòng: dòng thứ đưa vào N,k số phần tử mảng A[] số k; dòng đưa vào N số A[i]  T, N, A[i], k thỏa mãn ràng buộc: 1≤T≤100; 1≤ k< N ≤106, 0≤ A[i] ≤106 Output:  Đưa kết test theo dòng Input: Output: 15 63 10 15 50 40 80 ... đến n thành hai tập cho giá trị tuyệt đối tổng hai tập m tổng phần tử hai tập số đồng nguyên tố (co-prime : nguyên tố nhau) hay khơng? Ví dụ n =5, m = ta có kết Yes ta chia thành tập {1, 2, 3,... thành tập {1, 2, 3, 5} có giá trị tuyệt đối tổng hai tập số nguyên tố Với n=6, m=3 ta có câu trả lời No ta tìm hai tập {1, 2, 4, 5} {3, 6} có trị tuyệt đối tổng nhiên cặp 12=1+2+4+5 9=3 + không đồng... tìm tổng lớn i*A[i] số mảng quay trái A[] Ví dụ mảng A[] = {8, 3, 1, 2}, ta có tổng i*A[i] mảng quay trái sau: A[] = {8, 3, 1, 2} : tổng S = 0*8 + 1*3 + 2*1 +3*2 = 11 A[] = {3, 1, 2, 8} : tổng

Ngày đăng: 22/09/2019, 17:35

TỪ KHÓA LIÊN QUAN

w