contest1_bai2 - Bài 2
Xem dạng PDF
Gửi bài giải
Điểm:
4,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
BAI2.INP
Output:
BAI2.OUT
Dạng bài
Ngôn ngữ cho phép
C++ (Themis), Pascal (Themis), Python
Cho dãy số gồm ~n~ số nguyên dương ~a_1, a_2, ..., a_n~.
Yêu cầu: Với mỗi số nguyên ~a_i~, hãy tìm hai số nguyên dương ~x_i, y_i~ (~0 < y_i < x_i~) sao cho: ~x_i^2 - y_i^2 = a_i~.
Dữ liệu vào từ tệp văn bản BAI2.INP có cấu trúc:
- Dòng 1: chứa số nguyên dương ~n~ (~n \le 100~);
- Dòng thứ 2: chứa ~n~ số nguyên dương ~a_1, a_2, ..., a_n~ (~1 \le i \le n, a_i \le 10^6~). Các số trên cùng một dòng được ghi cách nhau bởi dấu cách.
Kết quả ghi ra tệp văn bản BAI2.OUT có cấu trúc: Ghi trên ~n~ dòng, dòng thứ ~i~ là đáp án của ~a_i~, cụ thể:
- Nếu tồn tại bộ số ~x_i, y_i~ thỏa yêu cầu thì ghi ra 2 số nguyên theo thứ tự ~x_i, y_i~ (Nếu tồn tại nhiều bộ số ~x_i, y_i~ thỏa yêu cầu thì ghi ra bộ số có ~x_i~ nhỏ nhất);
- Ngược lại ghi ra -1.
BAI2.INP
3
15 4 9
BAI2.OUT
4 1
-1
5 4
Ràng buộc:
- Subtask 1: 50% số test (50% số điểm): ~a_i \le 10^3~;
- Subtask 2: 50% số test (50% số điểm): ~a_i \le 10^6~.
Bình luận