結果

問題 No.306 さいたま2008
ユーザー oxyshower
提出日時 2019-08-23 22:20:03
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 660 bytes
コンパイル時間 1,590 ms
コンパイル使用メモリ 167,792 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-10-13 14:50:53
合計ジャッジ時間 2,357 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 19 WA * 4
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>
using namespace std;
//#define int long long
#define int double

#ifdef LOCAL_DEBUG
  #include "LOCAL_DEBUG.hpp"
#endif

signed main(){

  int a,b,c,d; cin >> a >> b >> c >> d;
  auto f = [&](int t){
    int res = sqrt(pow(a,2) + pow(b-t,2)) + sqrt(pow(c,2) + pow(d-t,2));
    return res;
  };

  int left = min(b,d),right = max(b,d);
  //[left , t1 , t2 , right]
  for(int i = 0; i < 100; i++){
    int t1 = (left * 2 + right) / 3;
    int t2 = (left + right * 2) / 3;
    //t2 += 1;

    if(f(t1) > f(t2)) left = t1;
    else right = t2;
  }
  if(f(left < f(right))) cout << left << endl;
  else cout << right << endl;

  return 0;
}
0