結果
問題 |
No.180 美しいWhitespace (2)
|
ユーザー |
![]() |
提出日時 | 2015-04-06 00:21:46 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 880 bytes |
コンパイル時間 | 507 ms |
コンパイル使用メモリ | 78,328 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-04 02:24:04 |
合計ジャッジ時間 | 1,428 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 1 |
other | AC * 21 WA * 10 |
ソースコード
#define _USE_MATH_DEFINES #include<iostream> #include<cstdio> #include<algorithm> #include<climits> #include<string> #include<vector> #include<list> #include<map> #include<set> #include<cmath> #include<queue> #include<cstring> #include<stack> using namespace std; #define int long long int N,A[1000],B[1000]; int latte(int c){ int mi = LLONG_MAX, ma = LLONG_MIN; for(int i=0;i<N;i++){ int size = A[i]+B[i]*c; mi = min(mi,size); ma = max(ma,size); } return (ma-mi)*-1; } signed main(){ cin>>N; for(int i=0;i<N;i++) cin>>A[i]>>B[i]; int l = 0, r = 1e9; //printf("%lld\n",latte(0)); return 0; while(true){ int c1 = (l*2+r)/3, c2 = (l+r*2)/3; if(c2-c1<=1){ l = c1; r = c2; break; } int r1 = latte(c1), r2 = latte(c2); if(r1>r2) r = c2; else if(r1<r2) l = c1; else{ puts("1"); return 0; } } printf("%lld\n",(latte(l)>latte(r))?l:r); return 0; }