結果
問題 | No.1179 Quadratic Equation |
ユーザー | ryochansq |
提出日時 | 2020-08-21 21:56:46 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 878 bytes |
コンパイル時間 | 2,198 ms |
コンパイル使用メモリ | 195,072 KB |
最終ジャッジ日時 | 2025-01-13 05:46:20 |
ジャッジサーバーID (参考情報) |
judge2 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 11 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i, n) for(ll i = 0, i##_len = (n); i < i##_len; ++i) #define rep2(i, x, n) for(ll i = x, i##_len = (n); i < i##_len; ++i) #define all(n) begin(n), end(n) using ll = long long; using P = pair<ll, ll>; using vi = vector<int>; using vl = vector<ll>; using vs = vector<string>; using vc = vector<char>; using vb = vector<bool>; using vd = vector<double>; vi dir = {-1, 0, 1, 0, -1, -1, 1, 1, -1}; int main() { ll la, lb, lc; cin >> la >> lb >> lc; ll ld = lb * lb - 4 * la * lc; if(ld < 0) { cout << "imaginary" << endl; return 0; } double a = la, b = lb, c = lc, d = ld; if(ld == 0) { double x = -b / (2 * a); printf("%.10f\n", x); return 0; } double x1 = (-b - sqrt(d)) / (2 * a); double x2 = (-b + sqrt(d)) / (2 * a); if(a < 0) swap(x1, x2); printf("%.10f %.10f\n", x1, x2); }