QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#148710 | #3530. Small business | OneWan | AC ✓ | 2ms | 3848kb | C++20 | 3.3kb | 2023-08-23 17:44:37 | 2023-08-23 20:26:34 |
Judging History
answer
// Problem: B - Small business
// Contest: Virtual Judge - Namomo Summer Camp 23 Day 3
// URL: https://vjudge.net/contest/577185#problem/B
// Memory Limit: 254 MB
// Time Limit: 1000 ms
#include <bits/stdc++.h>
using namespace std;
// 2023 OneWan
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
string str;
cin >> str;
if (str.size() > 40) {
cout << -1 << " " << -1 << "\n";
} else {
vector<int> a(27);
for (int i = 0 ; i < str.size() ; i++) {
a[str[i] ^ 48]++;
}
int len = str.size();
pair<long long, long long> ans = {2000000000000000000LL, 2000000000000000000LL};
if (a[0] >= 18 && a[1] >= 1) {
auto b = a;
b[0] -= 18;
b[1]--;
int L = len - 19;
__int128 x = 0, y = 1000000000000000000LL;
if (L == 1) {
bool flag = true;
for (int i = 0 ; i < 10 ; i++) {
if (b[i]) {
b[i]--;
x = i;
flag = false;
break;
}
}
if (flag) {
x = 2000000000000000000LL;
}
} else {
bool flag = true;
for (int i = 1 ; i < 10 ; i++) {
if (b[i]) {
b[i]--;
x = i;
flag = false;
break;
}
}
if (flag) {
x = 2000000000000000000LL;
} else {
for (int cnt = 1 ; cnt < L ; cnt++) {
for (int i = 0 ; i < 10 ; i++) {
if (b[i]) {
b[i]--;
x = x * 10 + i;
break;
}
}
}
}
}
if (x <= 1000000000000000000LL && y <= 1000000000000000000LL) {
if (x > y) swap(x, y);
ans = min(ans, make_pair((long long) x, (long long) y));
}
}
for (int L = 1 ; L < len ; L++) {
auto b = a;
int R = len - L;
__int128 x = 0, y = 0;
if (L == 1) {
bool flag = true;
for (int i = 0 ; i < 10 ; i++) {
if (b[i]) {
b[i]--;
x = i;
flag = false;
break;
}
}
if (flag) {
x = 2000000000000000000LL;
}
} else {
bool flag = true;
for (int i = 1 ; i < 10 ; i++) {
if (b[i]) {
b[i]--;
x = i;
flag = false;
break;
}
}
if (flag) {
x = 2000000000000000000LL;
} else {
for (int cnt = 1 ; cnt < L ; cnt++) {
for (int i = 0 ; i < 10 ; i++) {
if (b[i]) {
b[i]--;
x = x * 10 + i;
break;
}
}
}
}
}
if (R == 1) {
bool flag = true;
for (int i = 0 ; i < 10 ; i++) {
if (b[i]) {
b[i]--;
y = i;
flag = false;
break;
}
}
if (flag) {
y = 2000000000000000000LL;
}
} else {
bool flag = true;
for (int i = 1 ; i < 10 ; i++) {
if (b[i]) {
b[i]--;
y = i;
flag = false;
break;
}
}
if (flag) {
y = 2000000000000000000LL;
} else {
for (int cnt = 1 ; cnt < R ; cnt++) {
for (int i = 0 ; i < 10 ; i++) {
if (b[i]) {
b[i]--;
y = y * 10 + i;
break;
}
}
}
}
}
if (x <= 1000000000000000000LL && y <= 1000000000000000000LL) {
if (x > y) swap(x, y);
ans = min(ans, make_pair((long long) x, (long long) y));
}
}
if (ans.second <= 1000000000000000000LL) {
cout << ans.first << " " << ans.second << "\n";
} else {
cout << -1 << " " << -1 << "\n";
}
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3528kb
input:
123456
output:
1 23456
result:
ok ok
Test #2:
score: 0
Accepted
time: 2ms
memory: 3584kb
input:
42
output:
2 4
result:
ok ok
Test #3:
score: 0
Accepted
time: 2ms
memory: 3772kb
input:
000
output:
-1 -1
result:
ok ok
Test #4:
score: 0
Accepted
time: 2ms
memory: 3532kb
input:
4418409405
output:
0 104444589
result:
ok ok
Test #5:
score: 0
Accepted
time: 1ms
memory: 3788kb
input:
82933602294918208962
output:
10 202222334668889999
result:
ok ok
Test #6:
score: 0
Accepted
time: 2ms
memory: 3644kb
input:
264727800857314294187884421131
output:
100111122223 344444567777888889
result:
ok ok
Test #7:
score: 0
Accepted
time: 2ms
memory: 3612kb
input:
5879012924529447774473489599650098351318
output:
-1 -1
result:
ok ok
Test #8:
score: 0
Accepted
time: 2ms
memory: 3532kb
input:
61899560303187317666207432000671179900997026617305
output:
-1 -1
result:
ok ok
Test #9:
score: 0
Accepted
time: 0ms
memory: 3504kb
input:
0
output:
-1 -1
result:
ok ok
Test #10:
score: 0
Accepted
time: 2ms
memory: 3476kb
input:
0000000000000000010
output:
0 100000000000000000
result:
ok ok
Test #11:
score: 0
Accepted
time: 2ms
memory: 3592kb
input:
72
output:
2 7
result:
ok ok
Test #12:
score: 0
Accepted
time: 2ms
memory: 3584kb
input:
9407809440087866606
output:
0 400004466667788899
result:
ok ok
Test #13:
score: 0
Accepted
time: 2ms
memory: 3532kb
input:
89809008899888899001
output:
10 800008888888999999
result:
ok ok
Test #14:
score: 0
Accepted
time: 2ms
memory: 3536kb
input:
5977998750
output:
0 557778999
result:
ok ok
Test #15:
score: 0
Accepted
time: 2ms
memory: 3768kb
input:
079968486310868706
output:
0 10034666677888899
result:
ok ok
Test #16:
score: 0
Accepted
time: 2ms
memory: 3604kb
input:
8863679763487438575
output:
3 334455666777788889
result:
ok ok
Test #17:
score: 0
Accepted
time: 0ms
memory: 3580kb
input:
89989959979978899897
output:
57 778888899999999999
result:
ok ok
Test #18:
score: 0
Accepted
time: 2ms
memory: 3524kb
input:
04
output:
0 4
result:
ok ok
Test #19:
score: 0
Accepted
time: 2ms
memory: 3848kb
input:
050
output:
0 50
result:
ok ok
Test #20:
score: 0
Accepted
time: 0ms
memory: 3644kb
input:
00600
output:
0 6000
result:
ok ok
Test #21:
score: 0
Accepted
time: 0ms
memory: 3528kb
input:
00000004000000000001
output:
4 1000000000000000000
result:
ok ok
Test #22:
score: 0
Accepted
time: 2ms
memory: 3840kb
input:
968000664468747786844950400909747
output:
400000004444445 666667777788889999
result:
ok ok
Test #23:
score: 0
Accepted
time: 2ms
memory: 3636kb
input:
8508997009899878090899069097905466
output:
4000000005566677 788888899999999999
result:
ok ok
Test #24:
score: 0
Accepted
time: 2ms
memory: 3552kb
input:
58568080957695575954750
output:
40005 555555566777888999
result:
ok ok
Test #25:
score: 0
Accepted
time: 2ms
memory: 3548kb
input:
875461053097006648775060497518647
output:
100000013444455 556666677777788899
result:
ok ok
Test #26:
score: 0
Accepted
time: 0ms
memory: 3612kb
input:
9376648095947056973609694807979789
output:
3000034445566666 777777888999999999
result:
ok ok
Test #27:
score: 0
Accepted
time: 2ms
memory: 3536kb
input:
78797958009478890089884965799877978
output:
40000455677777777 888888888999999999
result:
ok ok
Test #28:
score: 0
Accepted
time: 2ms
memory: 3528kb
input:
4009850850640406897
output:
0 400000445566788899
result:
ok ok
Test #29:
score: 0
Accepted
time: 2ms
memory: 3640kb
input:
8400704666086089950
output:
0 400000456666788899
result:
ok ok
Test #30:
score: 0
Accepted
time: 2ms
memory: 3532kb
input:
0755006909549070096
output:
0 400000055566779999
result:
ok ok
Test #31:
score: 0
Accepted
time: 2ms
memory: 3788kb
input:
0800795705000904561000705000000905000
output:
400005555567778999 1000000000000000000
result:
ok ok
Test #32:
score: 0
Accepted
time: 0ms
memory: 3588kb
input:
00988888900999088999898909899080889
output:
80000000088888888 888899999999999999
result:
ok ok
Test #33:
score: 0
Accepted
time: 2ms
memory: 3816kb
input:
099899699580978989589905
output:
500055 678888899999999999
result:
ok ok
Test #34:
score: 0
Accepted
time: 2ms
memory: 3548kb
input:
084965879309996038904699788308008809
output:
300000000334456667 788888888999999999
result:
ok ok
Test #35:
score: 0
Accepted
time: 2ms
memory: 3532kb
input:
008898747869787898458530759994870890
output:
300000444555677777 788888888889999999
result:
ok ok
Test #36:
score: 0
Accepted
time: 2ms
memory: 3644kb
input:
8909897989888899770898808988789979
output:
7000777788888888 888888999999999999
result:
ok ok
Test #37:
score: 0
Accepted
time: 2ms
memory: 3612kb
input:
0888890099809888
output:
0 800088888889999
result:
ok ok
Test #38:
score: 0
Accepted
time: 2ms
memory: 3788kb
input:
9890898990888900090
output:
0 800000888889999999
result:
ok ok
Test #39:
score: 0
Accepted
time: 0ms
memory: 3524kb
input:
908880088900888880908
output:
800 800000888888888999
result:
ok ok
Test #40:
score: 0
Accepted
time: 2ms
memory: 3644kb
input:
0000009990880000080800890800091098900
output:
800008888889999999 1000000000000000000
result:
ok ok
Test #41:
score: 0
Accepted
time: 2ms
memory: 3480kb
input:
77577565988657886667
output:
55 556666677777788889
result:
ok ok
Test #42:
score: 0
Accepted
time: 2ms
memory: 3816kb
input:
8655565873492537535646964695
output:
2333444555 555556666667788999
result:
ok ok
Test #43:
score: 0
Accepted
time: 2ms
memory: 3608kb
input:
538695959695858435947654944335
output:
333344444555 555556667888999999
result:
ok ok
Test #44:
score: 0
Accepted
time: 2ms
memory: 3528kb
input:
997998887989796978997885878
output:
567777778 888888889999999999
result:
ok ok
Test #45:
score: 0
Accepted
time: 2ms
memory: 3600kb
input:
50998655
output:
0 5556899
result:
ok ok
Test #46:
score: 0
Accepted
time: 0ms
memory: 3536kb
input:
76989975570096
output:
0 5056677789999
result:
ok ok
Test #47:
score: 0
Accepted
time: 2ms
memory: 3616kb
input:
908756059050
output:
0 50005567899
result:
ok ok
Test #48:
score: 0
Accepted
time: 2ms
memory: 3620kb
input:
6000106009009090006900800008
output:
666889999 1000000000000000000
result:
ok ok
Test #49:
score: 0
Accepted
time: 2ms
memory: 3524kb
input:
4714233384212337158171321233734071
output:
1011111122222333 333333444457777788
result:
ok ok
Test #50:
score: 0
Accepted
time: 1ms
memory: 3596kb
input:
45871974789779777505333750735843685
output:
10033333444555555 677777777778888999
result:
ok ok
Test #51:
score: 0
Accepted
time: 1ms
memory: 3788kb
input:
825881875988832488087753987124979888
output:
101222334455577777 888888888888889999
result:
ok ok
Test #52:
score: 0
Accepted
time: 2ms
memory: 3640kb
input:
713609183348469851
output:
0 11133344566788899
result:
ok ok
Test #53:
score: 0
Accepted
time: 2ms
memory: 3844kb
input:
0746429303328004770
output:
0 200002333444677789
result:
ok ok
Test #54:
score: 0
Accepted
time: 0ms
memory: 3580kb
input:
081849004691805392619
output:
100 100123445668889999
result:
ok ok
Test #55:
score: 0
Accepted
time: 2ms
memory: 3528kb
input:
730861904006800000601100080100010042
output:
10111234466678889 1000000000000000000
result:
ok ok
Test #56:
score: 0
Accepted
time: 2ms
memory: 3612kb
input:
473593437385959396389447964693973676
output:
333333334444455566 666777778899999999
result:
ok ok
Test #57:
score: 0
Accepted
time: 2ms
memory: 3552kb
input:
8784688955737839773875997657797875797
output:
-1 -1
result:
ok ok
Test #58:
score: 0
Accepted
time: 2ms
memory: 3568kb
input:
4444084868887593584
output:
0 344444455678888889
result:
ok ok
Test #59:
score: 0
Accepted
time: 1ms
memory: 3596kb
input:
30550477468694937436
output:
30 303444455666777899
result:
ok ok
Test #60:
score: 0
Accepted
time: 2ms
memory: 3768kb
input:
0750634350965978840793
output:
3000 303445556677788999
result:
ok ok
Test #61:
score: 0
Accepted
time: 0ms
memory: 3528kb
input:
0000408570881005009769500505303900008
output:
334555556778888999 1000000000000000000
result:
ok ok
Test #62:
score: 0
Accepted
time: 0ms
memory: 3620kb
input:
99877888989988899787788897797887979999
output:
-1 -1
result:
ok ok
Test #63:
score: 0
Accepted
time: 2ms
memory: 3788kb
input:
78999977989880878978
output:
70 777788888889999999
result:
ok ok
Test #64:
score: 0
Accepted
time: 2ms
memory: 3636kb
input:
998879898909888777708
output:
700 777788888888999999
result:
ok ok
Test #65:
score: 0
Accepted
time: 2ms
memory: 3532kb
input:
07897779797908077078987
output:
70000 777777777888899999
result:
ok ok
Test #66:
score: 0
Accepted
time: 1ms
memory: 3820kb
input:
00808780089000779008009177090008779070
output:
-1 -1
result:
ok ok
Test #67:
score: 0
Accepted
time: 0ms
memory: 3452kb
input:
00
output:
0 0
result:
ok ok
Test #68:
score: 0
Accepted
time: 2ms
memory: 3540kb
input:
000
output:
-1 -1
result:
ok ok
Test #69:
score: 0
Accepted
time: 2ms
memory: 3824kb
input:
00000
output:
-1 -1
result:
ok ok
Test #70:
score: 0
Accepted
time: 2ms
memory: 3584kb
input:
00001000000000000000
output:
0 1000000000000000000
result:
ok ok
Test #71:
score: 0
Accepted
time: 2ms
memory: 3508kb
input:
0000
output:
-1 -1
result:
ok ok
Test #72:
score: 0
Accepted
time: 2ms
memory: 3788kb
input:
000000
output:
-1 -1
result:
ok ok
Test #73:
score: 0
Accepted
time: 2ms
memory: 3844kb
input:
001000000000000000000
output:
-1 -1
result:
ok ok
Test #74:
score: 0
Accepted
time: 2ms
memory: 3472kb
input:
00000000
output:
-1 -1
result:
ok ok
Test #75:
score: 0
Accepted
time: 2ms
memory: 3640kb
input:
00000100000000000000000
output:
-1 -1
result:
ok ok
Test #76:
score: 0
Accepted
time: 0ms
memory: 3548kb
input:
01000000000000001000000000000000000000
output:
1000000000000000000 1000000000000000000
result:
ok ok