結果
問題 |
No.955 ax^2+bx+c=0
|
ユーザー |
![]() |
提出日時 | 2019-12-21 12:49:22 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 833 bytes |
コンパイル時間 | 625 ms |
コンパイル使用メモリ | 79,028 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-19 06:54:34 |
合計ジャッジ時間 | 3,278 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 108 WA * 14 |
ソースコード
#include <algorithm> #include <cmath> #include <iomanip> #include <iostream> using namespace std; int main() { long long a, b, c; cin >> a >> b >> c; if (a == 0 && b == 0) { if (c == 0) cout << -1 << endl; else cout << 0 << endl; } else if (a == 0) { cout << 1 << endl << fixed << setprecision(15) << -c * 1.0 / b << endl; } else { long long D = b * b - 4 * a * c; if (D > 0) { cout << 2 << endl; double x1; if (b > 0) x1 = (-b - sqrt(D)) / (2.0 * a); else x1 = (-b + sqrt(D)) / (2.0 * a); cout << fixed << setprecision(14) << min(x1, (c / a) / x1) << endl << max(x1, (c / a) / x1) << endl; } else if (D == 0) cout << 1 << endl << fixed << setprecision(15) << -b / (2.0 * a) << endl; else cout << 0 << endl; } }