QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#818601#9622. 有限小数ryxWA 29ms3712kbC++201.9kb2024-12-17 23:06:242024-12-17 23:06:24

Judging History

你现在查看的是最新测评结果

  • [2024-12-17 23:06:24]
  • 评测
  • 测评结果:WA
  • 用时:29ms
  • 内存:3712kb
  • [2024-12-17 23:06:24]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
long long quick(long long u,long long k){
    long long as=1;
    while(k){
        if(k&1) as*=u;
        u=u*u;
        k>>=1;
    }
    return as;
}
int main(){
    int t;
    cin>>t;
    while(t--){
        long long a,b;
        cin>>a>>b;
        if(b==2||b==5){
            cout<<"0 1\n";
        }else{
            vector<long long> v;
            long long as=a/b;
            double an=1.0*a/b-as;
            if(an>0.5){
                an-=0.5;
                for(long long i=0;i<=20;i++){
                for(long long j=0;j<=9;j++){
                    long long a1=b*quick(2,i)*quick(5,j);
                    long long a2=quick(2,i)*quick(5,j);
                    double a3=1.0/a2;
                    if(a1*2<=1000000000&&a3>=an){
                        v.push_back(a2);
                    }
                }
            }
            sort(v.begin(),v.end());
            long long d1=v[v.size()-1];
            long long c=b*2+d1*as*b*2+d1*b-a*d1*2;
            long long a11=b*(as+1)-a;
            if(a11<c){
                cout<<a11<<" "<<b<<"\n";
            }else{
            cout<<c<<" "<<d1*b*2<<"\n";
            }
            }else{
            for(long long i=0;i<=20;i++){
                for(long long j=0;j<=9;j++){
                    long long a1=b*quick(2,i)*quick(5,j);
                    long long a2=quick(2,i)*quick(5,j);
                    double a3=1.0/a2;
                    if(a1<=1000000000&&a3>=an){
                        v.push_back(a2);
                    }
                }
            }
            sort(v.begin(),v.end());
            long long d1=v[v.size()-1];
            long long c=b+d1*as*b-a*d1;
            long long a11=b*(as+1)-a;
            if(a11<c){
                cout<<a11<<" "<<b<<"\n";
            }else{
            cout<<c<<" "<<d1*b<<"\n";
            }
        }
        }
    }
    return 0;
}

詳細信息

Test #1:

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

input:

4
1 2
2 3
3 7
19 79

output:

0 1
1 30
1 14
3 316

result:

ok 4 case(s)

Test #2:

score: -100
Wrong Answer
time: 29ms
memory: 3712kb

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
10 3392
26 120
3 560
11 1810
43 123
5 282
5 326
26 792
12 256
22 2440
2 64
29 122
31 430
8 148
15 143
13 53
9 46
1 31
1 6
9 362
18 91
10 23
10 81
0 1
3 190
24 1280
17 166
22 151
65 153
8 116
3 19
46 705
29 124
10 192
38 22240
4 295
3 109
32 2432
9 43
14 495
7 2850
59 795
9 25
23 730
11 170
7 17...

result:

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