QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#132474#6407. Classical A+B Problemcciafrino#TL 3473ms3592kbC++141.8kb2023-07-30 00:06:482023-07-30 00:06:51

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-07-30 00:06:51]
  • 评测
  • 测评结果:TL
  • 用时:3473ms
  • 内存:3592kb
  • [2023-07-30 00:06:48]
  • 提交

answer

#pragma GCC optimize ("Ofast")
#pragma GCC target ("avx,avx2")
#include <bits/stdc++.h>

using namespace std;

string sub(const string& s1, const string& s2) {
    int N = int(s1.size());
    string res(s1.size(), '0');
    int emprestimo = 0;
    int last_nn = -1;
    for(int i=0; i<(int)s1.size(); i++) {
        int n1 = s1[s1.size()-1 - i] - emprestimo - '0';
        char aux;
        if(((int) s2.size()) - i > 0) {
            int n2 = s2[((int) s2.size())-1 - i] - '0';
            aux = ((n1-n2 + 10) % 10) + '0';
            emprestimo = (n1-n2) < 0 ? 1 : 0;
            // cout << i << " . " << n1 << " " << n2 << " " << aux << " " << emprestimo << endl;
        } else {
            emprestimo = 0;
            aux = n1 + '0';
            // cout << i << " # " << n1 << " " << aux << " " << emprestimo << endl;
        }
        // cout << last_nn << endl;
        if (aux > '0') last_nn = res.size() - i - 1;
        res[res.size()-1 - i] = aux;
    }
    
    return string(res.begin() + last_nn, res.end());
}

bool check(const string& b) {
    char c = b[b.size()-1];
    for (int i = 0; i < int(b.size())-1; ++i) {
        if (b[i] != c) return false;
    }
    return true;
}

int main() {
    using namespace std;
    cin.tie(nullptr)->sync_with_stdio(false);

    int T; cin >> T;

    while (T--) {
        string S; cin >> S;
        
        bool flag = true;
        for(int i=1; i<=S.size() && flag; i++) {
            for(char c='1'; c<='9' && flag; c++) {
                string a = string(i, c);
                string b = sub(S, a);
                // cout << a << " " << b << " " << S << endl;
                
                if(check(b)){ 
                    cout <<  a << " " << b << '\n';
                    flag = false;
                }
            }
        }
    }

    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

6
2
786
1332
89110
2333333
10000000000000000000000000001

output:

1 1
9 777
333 999
222 88888
111111 2222222
9999999999999999999999999999 2

result:

ok ok (6 test cases)

Test #2:

score: 0
Accepted
time: 1ms
memory: 3528kb

input:

100
854
77777777781111111111111111110
44444450
11111111111111333
2310
5
333333333333333333333343332
888999
10
11113333
335
77779
88888888888888888888889111111111111111111110
55555555555555777777
72222222222222222222221
666
5777
1111555555
444444444544444444443
88888888888891111111111110
673332
97
77...

output:

77 777
3333333333333333333 77777777777777777777777777777
6 44444444
222 11111111111111111
88 2222
1 4
9999 333333333333333333333333333
111 888888
1 9
2222 11111111
2 333
2 77777
222222222222222222222 88888888888888888888888888888888888888888888
222222 55555555555555555555
5555555555555555555555 6666...

result:

ok ok (100 test cases)

Test #3:

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

input:

1000
999999
1199
888891
33333333344
6
55555633333333333333333333333333332
444999
333333333333333343333332
10000000055554
76666666666666666666666665
2310
55555633332
166666666666666
111111111111111888888888888888888
891
8888889333333333332
7
555555556666666666
22266666666666
7778554
667
5555555556222...

output:

111111 888888
88 1111
3 888888
11 33333333333
1 5
77777777777777777777777777777 55555555555555555555555555555555555
555 444444
9999999 333333333333333333333333
9999999999999 55555
9999999999999999999999999 66666666666666666666666666
88 2222
77777 55555555555
55555555555555 111111111111111
7777777777...

result:

ok ok (1000 test cases)

Test #4:

score: 0
Accepted
time: 38ms
memory: 3536kb

input:

10000
321
7777777854
2
3666
55566666666
6666666699
49
2888888
10000888888888888888887
5654
99
6555554
10
5
222222255555
2777
8
777779
3333333333377777777
77
667666665
110
9
7777777777777777788888888888
8
6
444444532
555556555555555555554
10000099998
610
1000000000000000055554
34444
5555666666
188888...

output:

99 222
77 7777777777
1 1
333 3333
11111111 55555555555
33 6666666666
5 44
666666 2222222
9999999999999999999999 888888888888888888
99 5555
11 88
999999 5555555
1 9
1 4
33333 222222222222
555 2222
1 7
2 777777
44444444 3333333333333333333
11 66
999999 666666666
11 99
1 8
11111111111 77777777777777777...

result:

ok ok (10000 test cases)

Test #5:

score: 0
Accepted
time: 213ms
memory: 3500kb

input:

1000
100000000000000000000044444444444444443
1111111111111111111111111111111111111111111111111111111111111111111188888888888888888888888888888888888888
44444444444444499999999999999999999999999999
1111111111111111111111111111111111111111111111111111111111166666666666666666666666666666666666666666666...

output:

99999999999999999999999999999999999999 44444444444444444
77777777777777777777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
55555555555555555555555555555 44444444444444444444444444444444444444444444
5555555555555555555555...

result:

ok ok (1000 test cases)

Test #6:

score: 0
Accepted
time: 1941ms
memory: 3584kb

input:

100
22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222...

output:

222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222...

result:

ok ok (100 test cases)

Test #7:

score: 0
Accepted
time: 2488ms
memory: 3568kb

input:

50
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999...

result:

ok ok (50 test cases)

Test #8:

score: 0
Accepted
time: 1365ms
memory: 3580kb

input:

25
222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222...

output:

22222222222222222222222222222222222222222 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222...

result:

ok ok (25 test cases)

Test #9:

score: 0
Accepted
time: 1041ms
memory: 3548kb

input:

10
444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444...

output:

555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555...

result:

ok ok (10 test cases)

Test #10:

score: 0
Accepted
time: 277ms
memory: 3576kb

input:

1
1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999...

result:

ok ok (1 test case)

Test #11:

score: 0
Accepted
time: 3473ms
memory: 3592kb

input:

25
666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666...

output:

333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333...

result:

ok ok (25 test cases)

Test #12:

score: -100
Time Limit Exceeded

input:

25
444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444...

output:

222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222...

result: