LTOJ Challenge 02

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 LTOJ Challenge 02 - Phương trình trùng phương 50 (p) 1.0s 1G
2 LTOJ Challenge 02 - Kiểm tra chia hết 50 (p) 1.0s 1G
3 LTOJ Challenge 02 - Số thứ K 50 (p) 1.0s 1G
4 LTOJ Challenge 02 - Số đặc biệt 50 (p) 1.0s 1G

1. LTOJ Challenge 02 - Phương trình trùng phương

Điểm: 50 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: TRUNGPHUONG.INP Output: TRUNGPHUONG.OUT

Cho phương trình trùng phương \(ax^4+bx^2+c=0\) với giá trị \(a,b,c\) cho trước và giá trị \(x\). Hãy kiểm tra xem phương trình có tồn tại nghiệm bé hơn nghiệm cho trước hay không?

Dữ liệu vào

Dữ liệu nhập từ tệp TRUNGPHUONG.INP có cấu trức như sau:

  • Dòng \(1\): Chứa ba số nguyên \(-10^9 \leq a,b,c \leq 10^9\)
  • Dòng \(2\): Chứa số nguyên \(x(|x| \leq 10^9)\).

Dữ liệu ra

Dữ liệu in ra từ tệp TRUNGPHUONG.OUT theo cấu trúc như sau:
- Dòng \(1\): In ra YES nếu phương trình có nghiệm bé hơn \(x\) và ngược lại in NO.

Sample
Input
1 -5 4
0
Output
YES

2. LTOJ Challenge 02 - Kiểm tra chia hết

Điểm: 50 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: CHIAHET.INP Output: CHIAHET.OUT

Cho dãy số \(A\)\(n\) phần tử \(a_1,a_2,...,a_n\)\(q\) truy vấn \(l\) \(r\) \(k\). Với mỗi truy vấn \(l\) \(r\) \(k\). Hãy kiểm tra xem tích của các phần tử \(a_l,a_{l+1},...,a_r\) có chia hết cho \(k\) hay không.

Dữ liệu vào

Nhập dữ liệu từ tệp CHIAHET.INP có cấu trúc như sau:
Dòng đầu tiên chứa số nguyên dương \(n\) - là số lượng phần tử của dãy \(A\).
Dòng thứ hai chứa \(n\) số nguyên dương \(a_1,a_2,...,a_n\) lần lượt là các phần tử của dãy \(a\).
Dòng thứ ba chứa số nguyên dương \(q\) - Số lượng truy vấn
\(q\) dòng tiếp theo, mỗi dòng chứa mỗi truy vấn \(l\) \(r\) \(k\).

Dữ liệu ra

Ghi dữ liệu ra tệp CHIAHET.OUT theo cấu trúc như sau:
Gồm \(q\) dòng, mỗi dòng in ra YES nếu tích các phần tử của đoạn con ấy chia hết cho \(k\), ngược lại in ra NO.

Chấm điểm

Tất cả các test đều thỏa mãn điều kiện \(1 \leq n \leq 10^5, 1 \leq q \leq 10^5, 1 \leq a_i \leq 10^9, 2 \leq k \leq 10\)

  • Các test từ \(1\) đến \(30\) có ràng buộc riêng \(1 \leq n \leq 10^3, 1 \leq q \leq 10^3\).
  • Các test từ \(31\) đến \(60\) tiếp theo có ràng buộc riêng \(1 \leq n \leq 10^3, 1 \leq q \leq 10^5\)
  • Các test từ \(61\) đến \(80\) tiếp theo có ràng buộc riêng \(k=2\) với mọi truy vấn
  • \(20\) test còn lại đảm bảo ràng buộc gốc.
Sample
Input
4 
9 2 2 7
2
1 3 3
2 4 3
Output
YES
NO

3. LTOJ Challenge 02 - Số thứ K

Điểm: 50 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: NEWARRAY.INP Output: NEWARRAY.OUT

Cho hai dãy số \(A\)\(B\), mỗi dãy gồm \(n\) phần tử.Tạo một dãy mới \(C\) bằng cách lấy tổng của mọi cặp phần tử giữa hai dãy, tức là: \(C=\{A_i+B_j∣1≤i,j≤n\}\). Nói cách khác, với mỗi phần tử của \(A\), ta cộng với từng phần tử của \(B\). Vì có \(n\) phần tử trong mỗi dãy nên dãy \(C\) sẽ có \(n^2\) giá trị.
Ví dụ \(A=\{1,2,3\}; B=\{4,5,6\}\), ta sẽ có dãy \(C=\{5,6,6,7,7,7,8,8,9\}\).

Yêu cầu

Hãy sắp xếp dãy \(C\) theo thứ tự tăng dần và in ra giá trị của phần tử thứ \(k\). Biết rằng phần tử đầu tiên của dãy \(C\) được đánh chỉ số là \(1\).

Dữ liệu vào

Dữ liệu nhập từ tệp NEWARRAY.INP có cấu trúc như sau:

  • Dòng đầu tiên chứa 2 số nguyên dương \(n\), \(k\) \((1\leq n,k\leq 10^5, 1\leq k\leq n^2 )\).
  • Dòng thứ hai chứa \(n\) số nguyên dương \(a_1, a_2, ..., a_n\) \((1\leq a_i\leq 10^9)\).
  • Dòng thứ ba chứa \(n\) số nguyên dương \(b_1, b_2, ..., b_n\) \((1\leq b_i\leq 10^9)\).

Dữ liệu ra

Dữ liệu ghi ra tệp NEWARRAY.OUT theo cấu trúc như sau:

  • Dòng \(1\): In ra tổng lớn thứ \(k\) tìm được.

Chấm điểm

  • Subtask \(1(60\%\) số test\()\): \(n \leq 10^3\).
  • Subtask \(2(40\%\) số test\()\): Không có ràng buộc gì thêm.
Sample
Input
5 10 
4 2 6 4 8 
7 3 1 9 5
Output
9

4. LTOJ Challenge 02 - Số đặc biệt

Điểm: 50 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: QUERY.INP Output: QUERY.OUT

Cho \(Q\) truy vấn \(l\) \(r\) \(x\). Với mỗi truy vấn, hãy đếm số lượng số có tổng các ước thực sự(không kể chính nó) lớn hơn \(x\) nằm trong đoạn \([L..R]\).

Input

Dữ liệu nhập từ tệp QUERY.INP có cấu trúc như sau:

  • Dòng thứ nhất chứa số nguyên dương \(Q(1 \leq Q \leq 10^5)\)
  • \(Q\) dòng tiếp theo, mỗi dòng chứa mỗi truy vấn \(l\) \(r\) \(x\). \((1 \leq l \leq r \leq 10^5, 1 \leq x \leq 10^5)\)

Output

Dữ liệu in ra tệp QUERY.OUT theo cấu trúc như sau:
- Gồm \(Q\) dòng, mỗi dòng là kết quả của mỗi truy vấn tương ứng.

Subtask

  • Subtask \(1(30\%)\): \(Q,R \leq 10^3\).
  • Subtask \(2(20\%)\): \(x \leq 10\)
  • Subtask \(3(50\%)\): Ràng buộc gốc.
Sample
Input
2
1 10 5
15 20 8
Output
3
4