QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#500633#6407. Classical A+B Problemucup-team2307#AC ✓544ms4028kbC++203.9kb2024-08-01 16:43:392024-08-01 16:43:40

Judging History

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

  • [2024-08-01 16:43:40]
  • 评测
  • 测评结果:AC
  • 用时:544ms
  • 内存:4028kb
  • [2024-08-01 16:43:39]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

using ll = long long;
#define int ll
#define rep(i, a, b) for(int i = a; i < (b); ++i)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
using pii = pair<int, int>;
using vi = vector<int>;
#define fi first
#define se second
#define pb push_back

struct Big: vector<signed> {
    static const int BASE = 1e9;
#define me (*this)
    bool shrink(){return !empty() && !back() && (pop_back(), 1);}
    auto get(int i) const { return i < sz(me) ? me[i] : 0; }
    Big() {}
    Big(auto val) { while (val) pb(val % BASE), val /= BASE; }
    Big(const string& s) {
        for (int i = sz(s); i > 0; i -= 9)
            pb(stoi(i < 9 ? s.substr(0, i) : s.substr(i - 9, 9)));
        while(shrink());
    }
    void print(ostream& out) const {
        out << (empty() ? 0 : back());
        for (int i = sz(me) - 2; i >= 0; i--)
            out << setw(9) << setfill('0') << me[i];
    }
    auto operator<=>(const Big& oth) const {
        if (auto res = sz(me) <=> sz(oth); res != 0) return res;
        for (int i = sz(me) - 1; i >= 0; i--)
            if (auto res = me[i] <=> oth[i]; res != 0) return res;
        return 0 <=> 0;
    }
#define pm(op, tp, init, check, end, add, cmp, inv, last) \
		Big& operator op(const tp& oth) { \
			for (int i = 0, r = init; check || r; i++) { \
				if (i == size()) end(0); \
				me[i] op r + add; \
				if (r = me[i] cmp) me[i] inv BASE; \
			} \
			last; return me; \
		}
    pm(+=, int, oth, 0, pb, 0, >= BASE, -=, )
    pm(+=, Big, 0, i < sz(oth), pb, oth.get(i), >= BASE, -=, )
    pm(-=, int, oth, 0, assert, 0, < 0, +=, shrink())
    pm(-=, Big, 0, i < sz(oth), assert, oth.get(i), < 0, +=, while(shrink()))
    Big& operator*=(int oth) {
        if (!oth) clear();
        int r = 0;
        for (auto& e: me) {
            ll cur = e * ll(oth) + r;
            e = cur % BASE; r = cur / BASE;
        }
        if (r) pb(r);
        return me;
    }
    Big operator*(const Big& oth) const {
        if(empty() || oth.empty()) return {};
        Big c; c.resize(sz(me) + sz(oth));
        rep(i, 0, sz(me))
            for (int j = 0, r = 0; j < sz(oth) || r; ++j) {
                ll cur = c[i + j] + me[i] * ll(oth.get(j)) + r;
                c[i + j] = cur % BASE; r = cur / BASE;
            }
        c.shrink(); return c;
    }
    Big& operator*=(const Big& oth) { return me = me * oth; }
    int divmod(int oth) {
        int r = 0;
        for (int i = sz(me) - 1; i >= 0; i--) {
            ll cur = me[i] + (ll) r * BASE;
            me[i] = cur / oth; r = cur % oth;
        }
        shrink(); return r;
    }
    Big& operator/=(int oth) { divmod(oth); return me; }
};
#define def(op, expr) auto operator op(Big a, const auto& b) { return a expr(b); }
def(+, +=) def(-, -=) def(*, *=) def(/, /=) def(%, .divmod)

string to_string(const Big&x)
{
    stringstream ss;
    x.print(ss);
    return ss.str();
}

bool repdig(const string&s)
{
    for(int i=1;i<sz(s);i++)
        if(s[i]!=s[0])
            return false;
    return true;
}

void solve()
{
    string s;
    cin>>s;
    Big n(s);
    for(int d=1;d<10;d++)
    {
        Big a;
        for(int i=0;i<max<int>(1,sz(s)-1);i++)
            a=a*10+d;
        if(a<n)
        {
            string b=to_string(n-a);
            if(repdig(b))
            {
                a.print(cout);
                cout<<" "<<b<<"\n";
                return;
            }
        }
        a=a*10+d;
        if(a<n)
        {
            string b=to_string(n-a);
            if(repdig(b))
            {
                a.print(cout);
                cout<<" "<<b<<"\n";
                return;
            }
        }
    }
    cout<<-1<<"\n";
    assert(0);
}

signed main() {
	cin.tie(0)->sync_with_stdio(0);
	cin.exceptions(cin.failbit);

    int t;
    cin>>t;
    while(t--)
        solve();
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

6
2
786
1332
89110
2333333
10000000000000000000000000001

output:

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

result:

ok ok (6 test cases)

Test #2:

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

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
77777777777777777777777777777 3333333333333333333
44444444 6
11111111111111111 222
2222 88
1 4
333333333333333333333333333 9999
888888 111
1 9
11111111 2222
333 2
77777 2
88888888888888888888888888888888888888888888 222222222222222222222
55555555555555555555 222222
5555555555555555555555 6666...

result:

ok ok (100 test cases)

Test #3:

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

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
1111 88
888888 3
33333333333 11
1 5
55555555555555555555555555555555555 77777777777777777777777777777
444444 555
333333333333333333333333 9999999
9999999999999 55555
66666666666666666666666666 9999999999999999999999999
2222 88
55555555555 77777
111111111111111 55555555555555
1111111111...

result:

ok ok (1000 test cases)

Test #4:

score: 0
Accepted
time: 39ms
memory: 3560kb

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:

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

result:

ok ok (10000 test cases)

Test #5:

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

input:

1000
100000000000000000000044444444444444443
1111111111111111111111111111111111111111111111111111111111111111111188888888888888888888888888888888888888
44444444444444499999999999999999999999999999
1111111111111111111111111111111111111111111111111111111111166666666666666666666666666666666666666666666...

output:

99999999999999999999999999999999999999 44444444444444444
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 77777777777777777777777777777777777777
44444444444444444444444444444444444444444444 55555555555555555555555555555
1111111111111111111111...

result:

ok ok (1000 test cases)

Test #6:

score: 0
Accepted
time: 152ms
memory: 3732kb

input:

100
22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222...

output:

222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222...

result:

ok ok (100 test cases)

Test #7:

score: 0
Accepted
time: 224ms
memory: 4020kb

input:

50
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999...

result:

ok ok (50 test cases)

Test #8:

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

input:

25
222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222...

output:

222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222...

result:

ok ok (25 test cases)

Test #9:

score: 0
Accepted
time: 95ms
memory: 3824kb

input:

10
444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444...

output:

444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444...

result:

ok ok (10 test cases)

Test #10:

score: 0
Accepted
time: 23ms
memory: 4012kb

input:

1
1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999...

result:

ok ok (1 test case)

Test #11:

score: 0
Accepted
time: 372ms
memory: 3812kb

input:

25
666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666...

output:

666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666...

result:

ok ok (25 test cases)

Test #12:

score: 0
Accepted
time: 300ms
memory: 3812kb

input:

25
444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444...

output:

444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444...

result:

ok ok (25 test cases)

Test #13:

score: 0
Accepted
time: 328ms
memory: 4012kb

input:

25
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

result:

ok ok (25 test cases)

Test #14:

score: 0
Accepted
time: 244ms
memory: 3816kb

input:

25
555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555...

output:

555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555...

result:

ok ok (25 test cases)

Test #15:

score: 0
Accepted
time: 334ms
memory: 4012kb

input:

25
777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777...

output:

777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777...

result:

ok ok (25 test cases)

Test #16:

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

input:

25
555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555...

output:

555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555...

result:

ok ok (25 test cases)

Test #17:

score: 0
Accepted
time: 324ms
memory: 3988kb

input:

25
444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444445444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444...

output:

444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444...

result:

ok ok (25 test cases)

Test #18:

score: 0
Accepted
time: 307ms
memory: 4028kb

input:

25
666666666666666666666666666666666666666666666666666666666666666666666666666666666666888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888...

output:

666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666...

result:

ok ok (25 test cases)

Test #19:

score: 0
Accepted
time: 278ms
memory: 3796kb

input:

25
777777778111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777...

result:

ok ok (25 test cases)

Test #20:

score: 0
Accepted
time: 262ms
memory: 4012kb

input:

25
133333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333...

output:

333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333...

result:

ok ok (25 test cases)

Test #21:

score: 0
Accepted
time: 177ms
memory: 3732kb

input:

25
877777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777...

output:

777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777...

result:

ok ok (25 test cases)

Test #22:

score: 0
Accepted
time: 147ms
memory: 3992kb

input:

25
566666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666...

output:

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

result:

ok ok (25 test cases)

Test #23:

score: 0
Accepted
time: 544ms
memory: 3812kb

input:

25
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999...

result:

ok ok (25 test cases)

Test #24:

score: 0
Accepted
time: 62ms
memory: 4024kb

input:

25
899999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999...

output:

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

result:

ok ok (25 test cases)