QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#767534#9622. 有限小数OOBMABTRAMS#WA 23ms3596kbC++17758b2024-11-20 21:12:232024-11-20 21:12:23

Judging History

This is the latest submission verdict.

  • [2024-11-20 21:12:23]
  • Judged
  • Verdict: WA
  • Time: 23ms
  • Memory: 3596kb
  • [2024-11-20 21:12:23]
  • Submitted

answer

#include<bits/stdc++.h>
using namespace std;
constexpr int N=1000013;
typedef long long ll;
const ll inf=1e9;
typedef long double ld;
vector<ll>v;
void solve(){
    ll a,b;
    cin>>a>>b;
    ll e=b;
    while(e%2==0)e/=2;
    while(e%5==0)e/=5;
    if(e==1) {
        cout<<0<<' '<<1<<'\n';
        return;
    }
    pair<ll,ll>ans={b-a,b};
    //(ak+c)/b
    for(auto k:v) {
        if(b*k>inf)break;
        ll c=a*k%b;
        c=(b-c)%b;
        ans=min(ans,make_pair(c,b*k));
    }
    cout<<ans.first<<' '<<ans.second<<'\n';
}
//
signed main(){
    for(int i=0;i<=30;i++) {
        ll x=1<<i;
        while(x<=inf)v.push_back(x),x*=5;
    }
    sort(v.begin(), v.end());
    int T=1;cin>>T;
    while(T--) solve();
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3596kb

input:

4
1 2
2 3
3 7
19 79

output:

0 1
1 3
1 14
3 316

result:

ok 4 case(s)

Test #2:

score: -100
Wrong Answer
time: 23ms
memory: 3596kb

input:

10000
11 12
28 53
17 60
2 35
17 181
80 123
68 141
79 163
71 99
13 64
33 61
15 32
16 61
11 86
33 74
128 143
40 53
7 23
30 31
5 6
86 181
73 91
13 23
71 81
1 2
7 38
117 160
33 83
129 151
88 153
25 58
16 19
19 141
95 124
43 96
71 139
11 59
106 109
93 152
34 43
17 99
1 57
20 159
16 25
5 73
159 170
172 17...

output:

1 12
1 54272
10 600
3 560
1 231680000
23 3936
1 36096000
5 326
1 63360
0 1
1 31232
0 1
1 4880
1 10750
2 37000
1 11714560
1 331250
1 2944
1 31
1 6
1 289600000
1 455000
1 58880
1 51840
0 1
2 608
0 1
1 415
1 19328000
1 765000000
1 181250
1 608
1 72192
12 99200
1 12000
3 347500
1 944
1 43600
6 38000
1 4...

result:

wrong answer Jury found better answer than participant's 1 < 10 (Testcase 3)