QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#736713#9622. 有限小数UESTC_NLNSRE 15ms10712kbPython3604b2024-11-12 12:48:532024-11-12 12:48:53

Judging History

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

  • [2024-11-12 12:48:53]
  • 评测
  • 测评结果:RE
  • 用时:15ms
  • 内存:10712kb
  • [2024-11-12 12:48:53]
  • 提交

answer

a = [2**i for i in range(40)]
b = [5**i for i in range(40)]
V = []
inf = 1e9
for i in a:
    for j in b:
        if i * j <= inf:
            V.append(i * j)

V.sort()
t = int(input())
for i in range(t):
    a, b = map(int, input().split())
    as1 = as2 = inf
    T = 1
    while b % 2 == 0:
        T *= 2
        b //= 2
    while b % 5 == 0:
        T *= 2
        b //= 2
    iT = pow(T, -1, b)
    for v in V:
        if b * v > inf:
            break
        d = b * v
        c = (-a * v * iT) % b
        if c < as1:
            as1, as2 = c, d
    print(as1, as2)

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 15ms
memory: 10712kb

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
Dangerous Syscalls

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 3
1 54272
1 14
1 272
1 231680000
23 3936
1 36096000
5 326
1 63360
0 1
1 31232
0 1
1 4880
1 10750
1 18500
1 11714560
1 331250
1 2944
1 31
1 6
1 289600000
1 455000
1 58880
1 51840
0 1
1 304

result: