QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#513244#9167. Coprime Arrayucup-team004#AC ✓0ms3788kbC++201.2kb2024-08-10 17:17:552024-10-14 07:52:07

Judging History

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

  • [2024-10-14 07:52:07]
  • 管理员手动重测本题所有获得100分的提交记录
  • 测评结果:AC
  • 用时:0ms
  • 内存:3788kb
  • [2024-08-11 17:38:28]
  • hack成功,自动添加数据
  • (/hack/775)
  • [2024-08-10 17:17:57]
  • 评测
  • 测评结果:100
  • 用时:0ms
  • 内存:3756kb
  • [2024-08-10 17:17:55]
  • 提交

answer

#include <bits/stdc++.h>

using u32 = unsigned;
using i64 = long long;
using u64 = unsigned long long;

std::mt19937 rng {std::chrono::steady_clock::now().time_since_epoch().count()};

constexpr i64 inf = 1E9;

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    
    int s, x;
    std::cin >> s >> x;
    
    if (std::gcd(s, x) == 1) {
        std::cout << 1 << "\n";
        std::cout << s << "\n";
        return 0;
    }
    
    if (x % 2 == 0 && s % 2 != 0) {
        std::cout << 3 << "\n";
        if (s > 0) {
            std::cout << 1 << " ";
            s--;
        } else {
            std::cout << 1 - x << " ";
            s -= 1 - x;
        }
    } else {
        std::cout << 2 << "\n";
    }
    
    while (true) {
        i64 a = inf - rng() % x;
        i64 b = s - a;
        if (b < -inf) {
            i64 t = (-inf - b);
            t = (t + x - 1) / x * x;
            b += t;
            a -= t;
        }
        if (std::abs(a) > inf || std::abs(b) > inf || std::gcd(a, x) != 1 || std::gcd(b, x) != 1) {
            continue;
        }
        std::cout << a << " " << b << "\n";
        return 0;
    }
    
    return 0;
}

这程序好像有点Bug,我给组数据试试?

详细

Test #1:

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

input:

9 6

output:

3
1 999999997 -999999989

result:

ok Correct

Test #2:

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

input:

14 34

output:

2
999999987 -999999973

result:

ok Correct

Test #3:

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

input:

1000000000 223092870

output:

2
970310567 29689433

result:

ok Correct

Test #4:

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

input:

2 1000000000

output:

2
313638193 -313638191

result:

ok Correct

Test #5:

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

input:

649557664 933437700

output:

2
410453663 239104001

result:

ok Correct

Test #6:

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

input:

33396678 777360870

output:

2
415250089 -381853411

result:

ok Correct

Test #7:

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

input:

48205845 903124530

output:

3
1 482774833 -434568989

result:

ok Correct

Test #8:

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

input:

251037078 505905400

output:

2
548877321 -297840243

result:

ok Correct

Test #9:

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

input:

30022920 172746860

output:

2
991870409 -961847489

result:

ok Correct

Test #10:

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

input:

63639298 808058790

output:

2
612993629 -549354331

result:

ok Correct

Test #11:

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

input:

76579017 362768406

output:

3
1 915922915 -839343899

result:

ok Correct

Test #12:

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

input:

40423669 121437778

output:

3
1 950857979 -910434311

result:

ok Correct

Test #13:

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

input:

449277309 720915195

output:

2
744118288 -294840979

result:

ok Correct

Test #14:

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

input:

81665969 919836918

output:

3
1 747586907 -665920939

result:

ok Correct

Test #15:

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

input:

470578680 280387800

output:

2
819151411 -348572731

result:

ok Correct

Test #16:

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

input:

58450340 803305503

output:

2
966634096 -908183756

result:

ok Correct

Test #17:

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

input:

125896113 323676210

output:

3
1 756667189 -630771077

result:

ok Correct

Test #18:

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

input:

381905348 434752500

output:

2
971801797 -589896449

result:

ok Correct

Test #19:

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

input:

78916498 653897673

output:

1
78916498

result:

ok Correct

Test #20:

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

input:

35787885 270845190

output:

3
1 814112791 -778324907

result:

ok Correct

Extra Test:

score: 0
Extra Test Passed