結果
問題 | No.1936 Rational Approximation |
ユーザー |
|
提出日時 | 2021-11-01 07:02:18 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 381 bytes |
コンパイル時間 | 499 ms |
コンパイル使用メモリ | 65,328 KB |
実行使用メモリ | 16,952 KB |
最終ジャッジ日時 | 2024-07-06 02:36:07 |
合計ジャッジ時間 | 6,773 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | -- * 1 |
other | TLE * 1 -- * 13 |
ソースコード
#include<iostream> using namespace std; long gcd(long a,long b){return b?gcd(b,a%b):a;} long P,Q; int main() { cin>>P>>Q; long Lp=0,Lq=1,Rp=1,Rq=0; for(int q=1;q<Q;q++) { {//L long p=(q*P+Q-1)/Q-1; while(p>0&&gcd(p,q)>1)p--; if(Lp*q<p*Lq)Lp=p,Lq=q; } {//R long p=P*q/Q+1; while(gcd(p,q)>1)p++; if(Rp*q>p*Rq)Rp=p,Rq=q; } } cout<<Lp+Lq+Rp+Rq<<endl; }