結果
問題 | No.846 メダル |
ユーザー | LayCurse |
提出日時 | 2019-07-05 23:11:24 |
言語 | C++17 (gcc 12.3.0 + boost 1.83.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 3,138 bytes |
コンパイル時間 | 2,262 ms |
コンパイル使用メモリ | 201,036 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-06 23:01:01 |
合計ジャッジ時間 | 2,725 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
5,248 KB |
testcase_01 | AC | 2 ms
5,248 KB |
testcase_02 | AC | 2 ms
5,248 KB |
testcase_03 | AC | 2 ms
5,248 KB |
testcase_04 | AC | 2 ms
5,248 KB |
testcase_05 | AC | 2 ms
5,248 KB |
testcase_06 | AC | 2 ms
5,248 KB |
testcase_07 | AC | 2 ms
5,248 KB |
testcase_08 | AC | 2 ms
5,248 KB |
testcase_09 | AC | 2 ms
5,248 KB |
testcase_10 | AC | 2 ms
5,248 KB |
testcase_11 | AC | 2 ms
5,248 KB |
testcase_12 | AC | 2 ms
5,248 KB |
testcase_13 | AC | 2 ms
5,248 KB |
testcase_14 | AC | 2 ms
5,248 KB |
testcase_15 | AC | 2 ms
5,248 KB |
testcase_16 | AC | 2 ms
5,248 KB |
testcase_17 | AC | 2 ms
5,248 KB |
testcase_18 | AC | 2 ms
5,248 KB |
testcase_19 | AC | 2 ms
5,248 KB |
testcase_20 | AC | 2 ms
5,248 KB |
testcase_21 | AC | 2 ms
5,248 KB |
testcase_22 | AC | 2 ms
5,248 KB |
testcase_23 | AC | 2 ms
5,248 KB |
testcase_24 | AC | 2 ms
5,248 KB |
testcase_25 | AC | 2 ms
5,248 KB |
ソースコード
#include<bits/stdc++.h> using namespace std; inline void rd(long long &x){ int k, m=0; x=0; for(;;){ k = getchar_unlocked(); if(k=='-'){ m=1; break; } if('0'<=k&&k<='9'){ x=k-'0'; break; } } for(;;){ k = getchar_unlocked(); if(k<'0'||k>'9'){ break; } x=x*10+k-'0'; } if(m){ x=-x; } } inline void wt_L(char a){ putchar_unlocked(a); } inline void wt_L(int x){ char f[10]; int m=0, s=0; if(x<0){ m=1; x=-x; } while(x){ f[s++]=x%10; x/=10; } if(!s){ f[s++]=0; } if(m){ putchar_unlocked('-'); } while(s--){ putchar_unlocked(f[s]+'0'); } } inline void wt_L(long long x){ char f[20]; int m=0, s=0; if(x<0){ m=1; x=-x; } while(x){ f[s++]=x%10; x/=10; } if(!s){ f[s++]=0; } if(m){ putchar_unlocked('-'); } while(s--){ putchar_unlocked(f[s]+'0'); } } template<class S, class T> inline S divup_L(S a, T b){ return (a+b-1)/b; } long long P; long long Q; long long R; long long A; long long B; long long C; int main(){ int ok; long long KL2GvlyY, Lj4PdHRW, Q5VJL1cS, RZTsC2BF, cTE1_r3A, e98WHCEY, i, j, k, x, y; rd(P); rd(Q); rd(R); rd(A); rd(B); rd(C); Lj4PdHRW = 0; KL2GvlyY = 1000000000000000000LL; while(Lj4PdHRW < KL2GvlyY){ if((Lj4PdHRW + KL2GvlyY)%2==0){ Q5VJL1cS = (Lj4PdHRW + KL2GvlyY) / 2; } else{ Q5VJL1cS = (Lj4PdHRW + KL2GvlyY - 1) / 2; } i =divup_L(Q5VJL1cS,P); j =divup_L(Q5VJL1cS,Q); k =divup_L(Q5VJL1cS,R); k -= j; j -= i; ok = 0; if(A < i || (A==i && B < j) || (A==i && B==j && C <= k)){ ok = 1; } if(ok){ KL2GvlyY = Q5VJL1cS; } else{ Lj4PdHRW = Q5VJL1cS + 1; } } x =KL2GvlyY; e98WHCEY = 0; cTE1_r3A = 1000000000000000000LL; while(e98WHCEY < cTE1_r3A){ if((e98WHCEY + cTE1_r3A)%2==0){ RZTsC2BF = (e98WHCEY + cTE1_r3A) / 2; } else{ RZTsC2BF = (e98WHCEY + cTE1_r3A + 1) / 2; } i =divup_L(RZTsC2BF,P); j =divup_L(RZTsC2BF,Q); k =divup_L(RZTsC2BF,R); k -= j; j -= i; ok = 0; if(A > i || (A==i && B > j) || (A==i && B==j && C >= k)){ ok = 1; } if(ok){ e98WHCEY = RZTsC2BF; } else{ cTE1_r3A = RZTsC2BF - 1; } } y =cTE1_r3A; if(x > y){ wt_L(-1); wt_L('\n'); return 0; } wt_L(x); wt_L(' '); wt_L(y); wt_L('\n'); return 0; } // cLay varsion 20190630-1 // --- original code --- // ll P, Q, R, A, B, C; // { // ll i, j, k; // ll x, y; // int ok; // // rd(P,Q,R,A,B,C); // // x = bsearch_min[ll,N,0,1d18][ // i = N /+ P; // j = N /+ Q; // k = N /+ R; // k -= j; // j -= i; // // ok = 0; // if(A < i || (A==i && B < j) || (A==i && B==j && C <= k)) ok = 1; // ](ok); // // y = bsearch_max[ll,N,0,1d18][ // i = N /+ P; // j = N /+ Q; // k = N /+ R; // k -= j; // j -= i; // // ok = 0; // if(A > i || (A==i && B > j) || (A==i && B==j && C >= k)) ok = 1; // ](ok); // // if(x > y){ wt(-1); return 0; } // // wt(x,y); // }