QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#803681#9868. GCDucup-team3734#WA 13ms6032kbC++23902b2024-12-07 18:00:332024-12-07 18:00:34

Judging History

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

  • [2024-12-07 18:00:34]
  • 评测
  • 测评结果:WA
  • 用时:13ms
  • 内存:6032kb
  • [2024-12-07 18:00:33]
  • 提交

answer

#include "bits/stdc++.h"

using namespace std;

using ll = long long;
using ld = long double;

#define all(x) (x).begin(), (x).end()

const int M = 5050;
const ll inf = 1e18;
const int B = 30;

map<ll, ll> mem[M];

ll gcd(ll a, ll b) {
  while (a) {
    b %= a;
    swap(a, b);
  }
  return b;
}

ll rec(ll a, ll b, ll cur) {
  if (cur > B)
    return inf;

  if (mem[a].contains(b))
    return mem[a][b];

  if (a == 0 && b == 0)
    return mem[a][b] = 0;

  ll g = gcd(a, b);
  a /= g, b /= g;

  if (a == 0 || b == 0)
    return mem[a][b] = 1;

  if (a == 1)
    return mem[a][b] = 2;

  return mem[a][b] = 1 + min(rec(a - 1, b, cur + 1), rec(a, b - 1, cur + 1));
}

int main() {
#ifndef ONLINE_JUDGE
  freopen("g.txt", "r", stdin);
#endif
  ios_base::sync_with_stdio(false);

  int t;
  cin >> t;
  while (t--) {
    ll a, b;
    cin >> a >> b;
    cout << rec(a, b, 0) << "\n";
  }

  return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3800kb

input:

3
3 4
12 20
114 514

output:

3
4
6

result:

ok 3 lines

Test #2:

score: 0
Accepted
time: 0ms
memory: 3868kb

input:

990
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
2 3
2 4
2...

output:

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
4
2
3
3
2
3
4
2
3
3
2
3
4
2
3
3
2
3
4
2
3
3
2
3
4
2
3
3
2
3
4
2
...

result:

ok 990 lines

Test #3:

score: 0
Accepted
time: 3ms
memory: 4408kb

input:

2
4859 299556476011016293
4859 911621905353047038

output:

13
13

result:

ok 2 lines

Test #4:

score: 0
Accepted
time: 0ms
memory: 4476kb

input:

3
3023 291106112607863999
3119 972408313573784567
1229 855784672293155279

output:

14
14
14

result:

ok 3 lines

Test #5:

score: 0
Accepted
time: 2ms
memory: 4764kb

input:

2
4023 19114808110467479
4014 412762310847841499

output:

13
13

result:

ok 2 lines

Test #6:

score: 0
Accepted
time: 3ms
memory: 4376kb

input:

3
3119 20432410732723181
1709 985601282232016799
2267 968744673868124159

output:

14
14
14

result:

ok 3 lines

Test #7:

score: 0
Accepted
time: 4ms
memory: 4448kb

input:

2
4535 722580216492418319
4307 6169979311475963

output:

13
13

result:

ok 2 lines

Test #8:

score: 0
Accepted
time: 4ms
memory: 4620kb

input:

2
4267 648637147725952319
4885 401781909910741919

output:

14
14

result:

ok 2 lines

Test #9:

score: 0
Accepted
time: 3ms
memory: 4316kb

input:

2
3023 291106112607863999
4094 673301962326128519

output:

14
13

result:

ok 2 lines

Test #10:

score: 0
Accepted
time: 3ms
memory: 4324kb

input:

2
4703 494504478938496599
3695 527072187619106999

output:

14
14

result:

ok 2 lines

Test #11:

score: 0
Accepted
time: 13ms
memory: 5988kb

input:

22
412 7166395745631535
895 676140333587834537
139 573525160802896508
56 6042824019123403
911 780448274466371463
970 313274528501049618
903 76359562805399746
104 475404596998181268
2 788944373595428631
277 204462142481604047
389 451716743142184785
369 733427971748817258
269 554386798310409825
543 37...

output:

4
8
6
4
7
6
7
6
3
8
7
6
8
6
5
7
3
3
7
6
6
5

result:

ok 22 lines

Test #12:

score: 0
Accepted
time: 13ms
memory: 6032kb

input:

24
113 419398799469164410
383 717450662733415750
443 686043628038128476
20 899250517211552654
204 346169669232649712
464 521611395675501476
410 894122452066951564
116 660159669509763780
962 217837730253597619
289 675700173448722836
130 329471777741246142
450 666991702473801195
353 760484310637419946...

output:

4
7
6
5
7
5
7
4
7
6
3
4
7
6
6
7
5
7
7
8
7
7
6
6

result:

ok 24 lines

Test #13:

score: -100
Wrong Answer
time: 13ms
memory: 5968kb

input:

19
678 133507297980379931
818 421994924168103967
503 501259104841209060
958 877656450668252853
687 442666986748301973
268 935701093685740836
568 786234655346565680
122 866380973396331141
807 54123923233567773
245 134684982334166386
543 221806505911296821
111 652360199004860361
553 860225758175402852...

output:

7
6
8
8
7
5
4
5
6
8
7
6
7
5
5
4
5
6
7

result:

wrong answer 3rd lines differ - expected: '7', found: '8'