Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
DTPYRA - Build the Pyramid |
Khánh đã học được một kỹ năng tính toán siêu việt. Vì thế, Khánh được các nhà khảo cổ trong một công trình phục dựng kim tự tháp mời đến để giúp đỡ họ.
Ban đầu, các nhà khảo cổ dự định dựng lại mô hình kim tự tháp giống như nguyên mẫu ở Ai Cập, tức là một hình chóp đều với đáy là hình vuông. Tuy nhiên, do thiếu kinh phí, họ chỉ có thể dựng được phần nền bên dưới của kim tự tháp. Cấu trúc này được xây bởi những viên gạch hình cầu xếp chồng lên nhau theo từng lớp một. Các nhà khảo cổ đã mua N viên gạch như thế. Để tiết kiệm chi phí tối đa, tất cả chúng phải được dùng để xây kim tự tháp. Khánh cần xác định xem có thể làm được điều đó hay không. Hơn nữa, để chứng minh tính thuyết phục cho kết quả của mình, họ yêu cầu khánh phải chỉ độ dài cạnh đáy của 2 kim tự tháp theo kiểu Ai Cập sao cho số viên gạch đã mua đúng bằng hiệu số viên gạch cần để xây 2 kim tự tháp đó. Trời ơi, sao mà khó quá đi :((
Input
- Dòng 1: Ghi số lượng test T (1 ≤ T ≤ 1000)
- T dòng tiếp theo: Mỗi dòng ghi một số nguyên N (1 ≤ N ≤ 1018) là số viên gạch đã mua.
Output
Với mỗi test:
- Dòng 1: Ghi 'YES' nếu có thể xây được hoặc 'NO' nếu không thể.
- Dòng 2 (nếu 'YES'): Ghi ra hai 2 số không âm a, b (a > b) sao cho N đúng bằng hiệu của số viên gạch xây 2 kim tự tháp này. Nếu có nhiều đáp án, chọn đáp án sao cho chênh lệch giữa a và b là nhỏ nhất.
Example
Input:
3
1
16
15
Output:
YES
1 0
YES
4 3
NO
Được gửi lên bởi: | khanhptnk |
Ngày: | 2009-12-05 |
Thời gian chạy: | 0.200s-0.600s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | Tất cả ngoại trừ: ASM64 GOSU PERL6 PYPY RUST SED |