結果
問題 | No.1064 ∪∩∩ / Cup Cap Cap |
ユーザー |
![]() |
提出日時 | 2020-05-29 22:51:47 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 723 bytes |
コンパイル時間 | 1,589 ms |
コンパイル使用メモリ | 167,548 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-11-06 07:00:22 |
合計ジャッジ時間 | 2,810 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 36 |
ソースコード
#include <bits/stdc++.h> int ri() { int n; scanf("%d", &n); return n; } int main() { int a = ri(); int b = ri(); int c = ri(); int d = ri(); // a = 2, b = (a - c), c = (b - d) if ((int64_t) (a - c) * (a - c) < 4 * 2 * (b - d)) { puts("No"); } else if ((int64_t) (a - c) * (a - c) == 4 * 2 * (b - d)) { puts("Yes"); } else { double x = std::sqrt((int64_t) (a - c) * (a - c) - 4 * 2 * (b - d)); // c - a \pm x / 4 double x0 = (c - a + x) / 4; double x1 = (c - a - x) / 4; std::cerr << x0 << " " << x1 << std::endl; double y0 = x0 * x0 + x0 * a + b; double y1 = x1 * x1 + x1 * a + b; double p = (y1 - y0) / (x1 - x0); double q = y0 - x0 * p; printf("%.11f %.11f\n", p, q); } return 0; }