結果

問題 No.1064 ∪∩∩ / Cup Cap Cap
ユーザー chocono2230chocono2230
提出日時 2020-05-29 22:29:49
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,254 bytes
コンパイル時間 1,704 ms
コンパイル使用メモリ 167,780 KB
実行使用メモリ 6,824 KB
最終ジャッジ日時 2024-11-06 05:53:35
合計ジャッジ時間 3,045 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 19 WA * 17
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0; i < (int)(n); i++)
#define rrep(ri,n) for(int ri = (int)(n-1); ri >= 0; ri--)
#define rep2(i,x,n) for(int i = (int)(x); i < (int)(n); i++)
#define repit(itr,x) for(auto itr = x.begin(); itr != x.end(); itr++)
#define rrepit(ritr,x) for(auto ritr = x.rbegin(); ritr != x.rend(); ritr++)
#define ALL(x) x.begin(), x.end()
using ll = long long;
using namespace std;

typedef long double ld;
const ld eps = 1.0e-8; // 許容される誤差

ld mysqrtl(ld x)
{
  ld a = sqrt((double)x); // 近似値
  do {
    a = (a + x/a) / 2.0L;
  } while (fabsl(x - a*a) > eps);
  return a;
}

int main(){
  int ia, ib, ic, id;
  long double  a, b, c, d;
  cin >> ia >> ib >> ic >> id;
  if(id - ib < 0){
    cout << "No" << endl;
    return 0;
  }else if(id - ib == 0){
    cout << "Yes" << endl;
    return 0;
  }
  a = ia; b = ib; c = ic; d = id;
  long double r = (c-a) * (c-a) + 8*(d-b);
  long double sq = mysqrtl(r);
  long double xa = ((c - a) + sq)/4;
  long double xb = ((c - a) - sq)/4;
  long double ya = xa*xa + a*xa + b;
  long double yb = xb*xb + a*xb + b;
  long double p = (yb-ya)/(xb-xa);
  long double q = -p * xa + ya;
  cout << fixed << setprecision(15) << p << " " << q << endl;
  return 0;
}
0