結果
問題 |
No.180 美しいWhitespace (2)
|
ユーザー |
![]() |
提出日時 | 2022-12-25 21:34:05 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 5 ms / 5,000 ms |
コード長 | 898 bytes |
コンパイル時間 | 1,093 ms |
コンパイル使用メモリ | 106,764 KB |
最終ジャッジ日時 | 2025-02-09 21:00:02 |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 31 |
コンパイルメッセージ
In file included from /usr/include/c++/13/iostream:41, from main.cpp:1: In member function ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>]’, inlined from ‘int main()’ at main.cpp:49:13: /usr/include/c++/13/ostream:204:25: warning: ‘ans’ may be used uninitialized [-Wmaybe-uninitialized] 204 | { return _M_insert(__n); } | ~~~~~~~~~^~~~~ main.cpp: In function ‘int main()’: main.cpp:41:24: note: ‘ans’ was declared here 41 | long long mi=2e18, ans; | ^~~
ソースコード
#include <iostream> #include <vector> #include <cmath> #include <map> #include <set> #include <iomanip> #include <queue> #include <algorithm> #include <numeric> #include <deque> #include <sstream> using namespace std; long long N; vector<long long> a, b; long double f(long long X){ long long mx=0, mi=2e18; for (int i=0; i<N; i++){ mx = max(mx, a[i]+X*b[i]); mi = min(mi, a[i]+X*b[i]); } return mx-mi; } int main(){ cin >> N; a.resize(N); b.resize(N); for (int i=0; i<N; i++) cin >> a[i] >> b[i]; long long l=1, r=1e9, cl, cr; while (r-l > 2){ cl = (l*2+r)/3; cr = (l+r*2)/3; if (f(cl) > f(cr)) l = cl; else r = cr; } long long mi=2e18, ans; for (long long i=l; i<=r; i++){ if (mi > f(i)){ ans = i; mi = f(i); } } cout << ans << endl; return 0; }