結果
問題 | No.955 ax^2+bx+c=0 |
ユーザー |
|
提出日時 | 2019-12-25 00:44:45 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 5,611 bytes |
コンパイル時間 | 2,401 ms |
コンパイル使用メモリ | 199,300 KB |
最終ジャッジ日時 | 2025-01-08 15:04:49 |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 87 WA * 35 |
ソースコード
/* 友利奈緒ぱわーでACしてくれ!!!!!!!!!!!! Charlotteまだ見てない人は見ような!!!!!!! / /:/ \:ヽ \ / / \ ヽ \__L 彡 ヽ ', フ / / / / , ヽ ', j レ / / / ', ヽ j // ! /_l_/__ノ { \} ', ',/ i ハ { 从j ハ i ', ト-、} i i } jj ( ハ ( 川 ハ ハ ! ' ハ ハ j j ,' 八 <_,ィ∧ 斗芹テミxハ ハ レ } /__レレ / ∧ \ ノ ∨ \ ゝ 辷:ソ ) 芹レ心ヾレ′ / ト-- ´ \ー‐' ノ \ゝ ゞ:_ソ "/ / ヽ フ i八 " " , ム彡 \ / / j ト " "イト< \\ / / j //ヽ、 ∩ イ { {  ̄ フフへ \\ ( / ,/ / i >――<ニニニニ┐ 〃/: : ヽ ヽヽ / ィT´/ /┌―  ̄ ̄ /::: , ,) 〃//: : : : : :} ヽヽ) / / ∧ヾi┌― { { ̄ ノ:::ト゚< ∥//: : : : : : : : i ノ ノ . ( 人 {:ヽヾi∨ ∧V /:::/ 、ヽ ∥/: : : : : : : : : :} / V ( ∧: :\'∨ ∧V ノ:::/ ∧ 〉___∥: : : : : :/: : : :レ /∧: : : : ∨ ∧V┬イ:::ノ 〈 TT | |{{: : : : /: : : : : ∧ ノ ( ハ: : : : :∨'T∧Vi i ( V ! ! {{: : / : : : : : : / ー ノ V ハ: : : : :∨ヘ∧V i ゝゝ i/⌒\{/ : : : : : : : /ー― ´ ∨ ヽ: : : : :∨ヘ∧∨i 〉 〉 / /二 ): : : : : : : : :/ (https://seesaawiki.jp/asciiart/d/Charlotte より) */ #include <bits/stdc++.h> using namespace std; using ll = long long; using ull = unsigned long long; // #define int ll // #define DEBUG 42 #define double long double inline void nprint(){} template <class Head, class... Tail> inline void nprint(Head &&head, Tail &&... tail) { cout << head << endl; nprint(move(tail)...); } #ifdef DEBUG #define eprint(...) nprint(__VA_ARGS__) #else #define eprint(...) if(0==1) cout << 1 << endl; #endif #define Yes(a) cout << (a ? "Yes" : "No") << endl #define YES(a) cout << (a ? "YES" : "NO") << endl #define POSSIBLE(a) cout << (a ? "POSSIBLE" : "IMPOSSIBLE") << endl using cmp = complex<double>; using vb = vector<bool>; using vvb = vector<vb>; using vi = vector<int>; using vvi = vector<vi>; using vl = vector<ll>; using vvl = vector<vl>; template<class T> using V = vector<T>; template<class T> using VV = vector<V<T>>; #define fi first #define se second #define maxs(x,y) (x=max<ll>(x,y)) #define mins(x,y) (x=min<ll>(x,y)) using pii = pair<int,int>; using pll = pair<ll,ll>; #define FOR(i,a,b) for(ll i = (a); i < (ll)(b); ++i) #define REP(i,n) FOR(i,0,n) #define FORS(i,a,b) FOR(i,a,b+1) #define REPS(i,n) REP(i,n+1) #define RFOR(i,a,b) for(ll i = (ll)(b)-1;i >= a;--i) #define RREP(i,n) RFOR(i,0,n) #define RREPS(i,n) RREP(i,n+1) #define RFORS(i,a,b) RFOR(i,a,b+1) #define ALL(obj) (obj).begin(), (obj).end() #define RALL(obj) (obj).rbegin(), (obj).rend() #define PERM(c) sort(ALL(c)); for(bool cp = true;cp;cp = next_permutation(ALL(c))) #define eb(val) emplace_back(val) const double PI = acos(-1), EPS = 1e-10; constexpr ll MOD = 1E9+7; constexpr int dx[] = {1,0,-1,0}; constexpr int dy[] = {0,1,0,-1}; template<typename T1, typename T2> ostream& operator<<(ostream& s, const pair<T1, T2>& p){ return s << "(" << p.first << ", " << p.second << ")"; } template<class T> istream& operator>>(istream &is,vector<T> &st){ for(size_t i=0;i<st.size();++i) is >> st[i]; return is; } template<class T> istream& operator>>(istream &is,vector<vector<T>> &st){ for(size_t i=0;i<st.size();++i) is >> st[i]; return is; } template<class T> ostream& operator<<(ostream &os, const vector<T> &st){ for(size_t i=0;i<st.size();++i){ if(i==st.size()-1) os << st[i]; else os << st[i] << "\n"; } return os; } template<class T> ostream& operator<<(ostream &os, const vector<vector<T>> &st){ for(size_t i=0;i<st.size();++i){ os << st[i]; if(i!=st.size()-1) os << endl; } return os; } V<double> solve(ll a,ll b,ll c){ ll d = b*b - 4*a*c; if(d<0){ return V<double>(0); }else if(d==0){ double ans = -b/2/a; return V<double>(1,ans); }else{ V<double> res; double rd = sqrtl(d); res.eb((-b-rd)/2/a); res.eb((-b+rd)/2/a); return res; } } signed main(){ cin.tie(0); ios::sync_with_stdio(false); cout << fixed << setprecision(30); ll a,b,c; cin >> a >> b >> c; if(a==0){ if(b==0){ if(c==0){ cout << "-1" << endl; }else{ cout << 0 << endl; } }else{ cout << 1 << endl; cout << -(double)c/b << endl; } return 0; } auto res = solve(a,b,c); cout << res.size() << endl; if(res.size()>0) cout << res << endl; }