結果
| 問題 |
No.846 メダル
|
| コンテスト | |
| ユーザー |
LayCurse
|
| 提出日時 | 2019-07-05 23:11:24 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 3,138 bytes |
| コンパイル時間 | 1,799 ms |
| コンパイル使用メモリ | 193,432 KB |
| 最終ジャッジ日時 | 2025-01-07 06:08:26 |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 22 |
ソースコード
#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);
// }
LayCurse