Gửi bài giải
Điểm:
50,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Input:
stdin
Output:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Output Only, Pascal, PyPy, Python, Scratch, TEXT
Bạn được cho một số nguyên dương ~N~.
Bạn cần tìm bốn số nguyên không âm ~x~, ~y~, ~z~, ~t~ bất kỳ, sao cho ~x^2 + y^2 + z^2 + t^2~ gần với ~N~ nhất.
INPUT
Dòng duy nhất gồm số nguyên dương ~N~ (~1 \le N \le 10^{18}~).
OUTPUT
Dòng duy nhất gồm bốn số nguyên không âm ~x~, ~y~, ~z~, ~t~ (~0 \le x, y, z, t \le 10^9~).
SAMPLE INPUT
19
SAMPLE OUTPUT 1
3 3 1 0
Với output này, bạn sẽ được ~1~ điểm.
SAMPLE OUTPUT 2
4 2 1 0
Với output này, bạn sẽ được ~1 - \sqrt[5] \frac {2}{50}~ ~=~ ~0.475~ điểm.
SCORING
Có ~100~ test, mỗi test ~1~ điểm.
Với mỗi test:
- Nếu output của bạn không hợp lệ (một trong bốn số là số nguyên âm, hay vượt quá ~10^9~, hay không đủ bốn số), bạn sẽ nhận ~0~ điểm.
- Nguợc lại:
- Gọi: $$C = x^2 + y^2 + z^2 + t^2$$
- Nếu ~|C - N| > 50~, bạn sẽ được ~0~ điểm.
- Ngược lại, bạn sẽ được ~1 - \sqrt[5] \frac {|C - N|}{50}~ điểm.
- Có thể chứng minh luôn tồn tại cách để đạt ~1~ điểm với mọi test.
SUBTASKS
Subtask | Điểm | Ràng buộc |
---|---|---|
1 | ~5~ | ~N \le 100~. |
2 | ~10~ | ~N \le 10^5~. |
3 | ~15~ | ~N~ là số chính phương. |
4 | ~20~ | ~N \le 10^{12}~. |
5 | ~20~ | Tồn tại ~x~, ~y~ nguyên sao cho ~x^2 + y^2 = N~. |
6 | ~30~ | Không có ràng buộc gì thêm. |
Bình luận