結果
| 問題 |
No.306 さいたま2008
|
| コンテスト | |
| ユーザー |
forest3
|
| 提出日時 | 2025-03-26 16:45:30 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 725 bytes |
| コンパイル時間 | 1,916 ms |
| コンパイル使用メモリ | 163,696 KB |
| 実行使用メモリ | 7,324 KB |
| 最終ジャッジ日時 | 2025-03-26 16:45:34 |
| 合計ジャッジ時間 | 3,336 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 26 |
コンパイルメッセージ
In file included from /usr/include/c++/13/istream:41,
from /usr/include/c++/13/sstream:40,
from /usr/include/c++/13/complex:45,
from /usr/include/c++/13/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:127,
from main.cpp:1:
In member function ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits<char>]’,
inlined from ‘int main()’ at main.cpp:31:39:
/usr/include/c++/13/ostream:235:25: warning: ‘y’ may be used uninitialized [-Wmaybe-uninitialized]
235 | { return _M_insert(__f); }
| ~~~~~~~~~^~~~~
main.cpp: In function ‘int main()’:
main.cpp:10:52: note: ‘y’ was declared here
10 | long double l = -1, h = 1e18, t = DBL_MAX, y;
| ^
ソースコード
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define rep(i, n) for(int i = 0; i < n; i++)
int main() {
ll xa, ya, xb, yb;
cin >> xa >> ya >> xb >> yb;
long double l = -1, h = 1e18, t = DBL_MAX, y;
rep(i, 200) {
long double e1 = (l + l + h) / 3;
long double e2 = (l + h + h) / 3;
long double dy1 = e1 - ya;
long double dy2 = e1 - yb;
long double f1 = sqrt(xa * xa + dy1 * dy1) + sqrt(xb * xb + dy2 * dy2);
dy1 = e2 - ya;
dy2 = e2 - yb;
long double f2 = sqrt(xa * xa + dy1 * dy1) + sqrt(xb * xb + dy2 * dy2);
if(f1 < f2) h = e2;
else l = e1;
if(f1 < t) {
t = f1;
y = e1;
}
if(f2 < t) {
t = f2;
y = e2;
}
}
cout << fixed << setprecision(12) << y << endl;
}
forest3