結果
問題 | No.180 美しいWhitespace (2) |
ユーザー |
|
提出日時 | 2020-03-04 07:51:55 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 5,000 ms |
コード長 | 471 bytes |
コンパイル時間 | 767 ms |
コンパイル使用メモリ | 67,064 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-13 23:29:50 |
合計ジャッジ時間 | 1,720 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 31 |
コンパイルメッセージ
main.cpp:17:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type] 17 | main() | ^~~~ main.cpp: In function 'long int f(long int)': main.cpp:15:18: warning: 'M' may be used uninitialized [-Wmaybe-uninitialized] 15 | return M-m; | ^ main.cpp:8:16: note: 'M' was declared here 8 | long m,M; | ^ main.cpp:15:18: warning: 'm' may be used uninitialized [-Wmaybe-uninitialized] 15 | return M-m; | ^ main.cpp:8:14: note: 'm' was declared here 8 | long m,M; | ^
ソースコード
#include<iostream> #include<algorithm> using namespace std; int N; long A[1000],B[1000]; long f(long x) { long m,M; for(int i=0;i<N;i++) { long t=A[i]+B[i]*x; if(i==0||m>t)m=t; if(i==0||M<t)M=t; } return M-m; } main() { cin>>N; for(int i=0;i<N;i++)cin>>A[i]>>B[i]; long L=1,R=2e9; for(;R-L>2;) { long M1=(L*2+R)/3,M2=(L+R*2)/3; if(f(M1)<=f(M2))R=M2; else L=M1; } long f1=f(L),f2=f(L+1),f3=f(L+2); cout<<(f1<=f2&&f1<=f3?L:f2<=f3?L+1:L+2)<<endl; }