結果
問題 | No.180 美しいWhitespace (2) |
ユーザー |
![]() |
提出日時 | 2015-04-06 00:29:43 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 3 ms / 5,000 ms |
コード長 | 860 bytes |
コンパイル時間 | 628 ms |
コンパイル使用メモリ | 77,768 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-04 02:25:03 |
合計ジャッジ時間 | 1,559 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 31 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:47:18: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long long int’ [-Wformat=] 47 | printf("%d\n",ans); | ~^ ~~~ | | | | int long long int | %lld
ソースコード
#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; while(r-l>4){ int c1 = (l*2+r)/3, c2 = (l+r*2)/3; int r1 = latte(c1), r2 = latte(c2); if(r1>=r2) r = c2; else l = c1; } if(l==0) l = 1; int ans, ma = LLONG_MIN; for(int i=l;i<=r;i++){ int ret = latte(i); if(ma<ret){ ma = ret; ans = i; } } printf("%d\n",ans); return 0; }