結果
| 問題 |
No.306 さいたま2008
|
| コンテスト | |
| ユーザー |
oxyshower
|
| 提出日時 | 2019-08-24 01:18:44 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 731 bytes |
| コンパイル時間 | 1,595 ms |
| コンパイル使用メモリ | 168,112 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-10-13 14:54:51 |
| 合計ジャッジ時間 | 2,377 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 4 WA * 19 |
ソースコード
#include<bits/stdc++.h>
using namespace std;
#define int long long
#ifdef LOCAL_DEBUG
#include "LOCAL_DEBUG.hpp"
#endif
signed main(){
int a,b,c,d; cin >> a >> b >> c >> d;
auto f = [&](long double t){
//int res = sqrt(pow(a,2) + pow(b-t,2)) + sqrt(pow(c,2) + pow(d-t,2));
long double res = sqrt(a*a + (b-t)*(b-t)) + sqrt(c*c + (d-t)*(d-t));
return res;
};
long double left = min(b,d),right = max(b,d);
//[left , t1 , t2 , right]
while(right - left > 1e-9){
long double t1 = (left * 2 + right) / 3.0;
long double t2 = (left + right * 2) / 3.0;
if(f(t1) > f(t2)) left = t1;
else right = t2;
cout << left << " " << right << endl;
}
printf("%.8f\n",(double)left);
return 0;
}
oxyshower