Gửi bài giải

Điểm: 0,50 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài

Cho mảng A[] gồm N số nguyên, gọi K là tích các số trong mảng A[] bạn hãy xác định xem K có phải là số chính phương không ? Nếu nó là số chính phương thì bạn hãy in ra YES, đồng thời bạn phải in ra căn bậc hai của K sau khi chia dư căn này cho số 10^9 + 7 (1000000007), ngược lại nếu K không phải là số chính phương thì bạn chỉ cần in ra NO.

Dữ liệu vào:
  • Dòng đầu tiên là N (0 < N <= 10^3)

  • Dòng thứ 2 là mảng A[] (0 <= A[i] <= 10^9)

Dữ liệu ra:
  • In ra NO nếu K không phải là số chính phương, ngược lại in ra YES và căn bậc hai của K sau khi chia dư căn này cho 10^9 + 7.
Ví dụ 1:
input :
Copy
4
2 2 4 9
output :
Copy
YES 12

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.