UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#214789#2684. Digit SumKXG301ms596kbC++111.2kb2024-11-21 20:49:122024-11-22 09:34:42

answer

#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
long long t, x, n;
long long solve(long long x, long long b) {
    long long sum = 0;
    while (x) {
        sum += x % b;
        x /= b;
    }
    return sum;
}
int main() {
    scanf("%lld", &t);
    while (t--) {
        scanf("%lld%lld", &x, &n);
        if (x < n) {
            printf("-1\n");
            continue;
        }
        if (x == n) {
            printf("%lld\n", x + 1);
        }
        bool flag = false;
        for (int i = 2; i * i <= x; i++) {
            if (solve(x, i) == n) {
                printf("%lld\n", i);
                flag = true;
                break;
            }
        }
        if (flag) {
            continue;
        }
        for (int i = min((long long)sqrt(x), n); i >= 1; i--) {
            long long j = n - i;
            if ((x - j) % i == 0) {
                long long y = (x - j) / i;
                if (y > i && y > j) {
                    printf("%lld\n", y);
                    flag = true;
                    break;
                }
            }
        }
        if (!flag) {
            printf("-1\n");
        }
    }
    return 0;
}

详细

小提示:点击横条可展开更详细的信息

Test #1:

score: 5
Accepted
time: 0ms
memory: 596kb

input:

10
888625 163964
35930 5139
531439 147185
749555 345722
69047 16611
55833 9203
307717 106246
933880 ...

output:

724662
30792
192128
403834
26219
9327
201472
-1
-1
-1

result:

ok 10 lines

Test #2:

score: 5
Accepted
time: 1ms
memory: 592kb

input:

10
450817 145239
822536 101101
234226 52339
995924 105895
378034 2945
639602 284931
147612 44381
253...

output:

152790
144288
60630
127148
6150
354672
103232
-1
-1
574268

result:

ok 10 lines

Test #3:

score: 5
Accepted
time: 0ms
memory: 596kb

input:

10
23798 4780
503642 62007
363324 80713
37004 7817
540153 82969
199281 32442
520499 159495
447250 37...

output:

9510
88328
282612
9730
114297
55614
180503
-1
-1
-1

result:

ok 10 lines

Test #4:

score: 5
Accepted
time: 0ms
memory: 592kb

input:

10
537103 140173
203204 73349
296269 133080
483130 200096
305554 36152
209507 29381
957094 13012
740...

output:

198466
129856
163190
283035
38487
30022
17484
-1
-1
-1

result:

ok 10 lines

Test #5:

score: 5
Accepted
time: 0ms
memory: 592kb

input:

10
87451 9578
905581 255725
521449 257855
748415 342780
5617 1359
452858 52144
822082 373556
389173 ...

output:

77874
324929
263595
405636
2130
200358
448527
-1
-1
-1

result:

ok 10 lines

Test #6:

score: 5
Accepted
time: 0ms
memory: 592kb

input:

10
947539 24439
567949 142999
783681 16340
770799 241043
997443 117394
907957 61046
76708 8506
42448...

output:

27151
212476
767342
264879
880050
65148
11368
216614
-1
-1

result:

ok 10 lines

Test #7:

score: 0
Time Limit Exceeded

input:

10
38842382408 122926
58274862930 789360
16726511292 330607
15668542016 1208760580
96592451354 75808...

output:


result:


Test #8:

score: 0
Time Limit Exceeded

input:

10
73846452295 620455
50989527612 3728
51772807635 209471
41365167624 8035429152
43363365851 9425141...

output:


result:


Test #9:

score: 0
Time Limit Exceeded

input:

10
22120306776 495832
23247250178 6368
79562554490 19874
32734834718 98896643
35888384281 1089396855...

output:


result:


Test #10:

score: 0
Time Limit Exceeded

input:

10
28130589289 424875
45607070965 465767
66232968981 230686
61515248868 10509226440
11206266868 6337...

output:


result:


Test #11:

score: 0
Time Limit Exceeded

input:

10
15236605640 131590
76773281826 193875
15881927534 233031
67113829687 7741608137
94088859866 21886...

output:


result:


Test #12:

score: 0
Time Limit Exceeded

input:

10
7747004498 66027
77954096635 182311
72636571992 134139
59371587772 3747319652
31741332987 1562357...

output:


result:


Test #13:

score: 0
Time Limit Exceeded

input:

10
52447944080 396920
85295225227 490427
16062740018 284170
31819067462 14385061650
73753430383 6315...

output:


result:


Test #14:

score: 0
Time Limit Exceeded

input:

10
16458964082 785492
39210832198 308576
90579242995 566326
10156100741 1194736390
36992807117 63081...

output:


result:


Test #15:

score: 0
Time Limit Exceeded

input:

10
74391702898 247604
46995162688 153603
30018150177 20343
33463692362 15774161781
33013896733 26419...

output:


result:


Test #16:

score: 0
Time Limit Exceeded

input:

10
9024265051 320767
44078185701 360375
39291196937 277829
64756922755 6933411003
87474828658 305861...

output:


result:


Test #17:

score: 0
Time Limit Exceeded

input:

10
11798579336 148692
38029195164 131178
43979560651 741293
63898457237 179757607
92920236151 993757...

output:


result:


Test #18:

score: 0
Time Limit Exceeded

input:

10
26479252755 224121
61958934862 353329
51905628528 766320
75618930758 1077079694
16217470987 11936...

output:


result:


Test #19:

score: 0
Time Limit Exceeded

input:

10
90926376778 796138
73090609979 22899
60520918542 7052
16429107583 16429107583
94872820855 9778764...

output:


result:


Test #20:

score: 0
Time Limit Exceeded

input:

10
39325538660 300086
24194702624 301899
59825284594 104522
31201472810 4475319520
50985475546 24450...

output:


result: