結果
問題 | No.955 ax^2+bx+c=0 |
ユーザー | firiexp |
提出日時 | 2019-12-18 00:34:06 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 748 bytes |
コンパイル時間 | 1,701 ms |
コンパイル使用メモリ | 165,448 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-18 21:58:29 |
合計ジャッジ時間 | 4,748 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 122 |
ソースコード
#include<bits/stdc++.h> using namespace std; int main() { long long a,b,c; scanf("%lld%lld%lld",&a,&b,&c); if(a==0) { if(b==0) puts(c?"0":"-1"); else printf("1\n%.15Lf\n",-c*1.0L/b); } else { if(a<0)a=-a,b=-b,c=-c; long double d=b*b-4.0L*a*c; if(abs(d)<1e-12) printf("1\n%.15Lf\n",-b/2.0L/a); else if(d<0) puts("0"); else { long double x,y; if(b>0) { x=(-b-sqrt(d))/2/a; y=c*1.0L/a/x; } else { y=(-b+sqrt(d))/2/a; x=c*1.0L/a/y; } printf("2\n%.15Lf\n%.15Lf\n",x,y); } } return 0; }