QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#500633 | #6407. Classical A+B Problem | ucup-team2307# | AC ✓ | 544ms | 4028kb | C++20 | 3.9kb | 2024-08-01 16:43:39 | 2024-08-01 16:43:40 |
Judging History
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)