QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#149079#3530. Small businessmoonWA 1ms3656kbC++203.1kb2023-08-23 23:50:272023-08-23 23:50:28

Judging History

This is the latest submission verdict.

  • [2023-08-23 23:50:28]
  • Judged
  • Verdict: WA
  • Time: 1ms
  • Memory: 3656kb
  • [2023-08-23 23:50:27]
  • Submitted

answer

#include<bits/stdc++.h>

using namespace std;
typedef long long ll;

const int inf = numeric_limits<int>::max();
const ll inff = numeric_limits<ll>::max();

void solve() {
    string s;
    cin >> s;
    int l = s.length();
    int zero = 0;
    int one = 0;
    int no = 0;
    if(s == "00") {
        cout << "0 0 ";
        return ;
    }
    auto check = [&]() -> void {
        if(l >= 38) {
            if(zero == 36 && one == 2) {
                cout << "1000000000000000000 1000000000000000000";
                exit(0);
            } else {
                cout << "-1 -1";
                exit(0);
            }
        } 
        if(no == 0) {
            cout << "-1 -1";
            exit(0);
        } 
        if(zero == 19) {
            if(one == 1 && no == 1) {
                cout << "0 1000000000000000000";
                exit(0);
            } else {
                cout << "-1 -1";
                exit(0);
            }
        }
        if(zero > 19 && one <= 1) {
            cout << "-1 -1";
            exit(0);
        }
    };
    for(auto i : s) {
        if(i == '0') {
            zero++;
        } else if(i == '1') {
            one++;
        }
        if(i != '0') {
            no++;
        }
    }
    check();
    
    int pre = l - 18;
    sort(s.begin(), s.end());
    // cout << s << '\n';
    auto con = [&](string ss) -> string {
        if(ss == "0") {
            return "0";
        }
        string ans = "";
        string res = "";
        bool ok = true;
        for(auto i : ss) {
            if(i != '0' && ok) {
                ans += i;
                ok = false;
            } else {
                res += i;
            }
        }
        return ans + res;
    };
    if(pre >= 1) {
        string p = "";
        string t = "";
        for(auto i : s) {
            if(p.length() < pre) {
                p += i;
            } else {
                t += i;
            }
        }
        s = t;
        // cout << p << '\n' << s << '\n';
        if(p[pre - 1] == '0' && pre > 1) {
            p.pop_back();
            string tem = "0";
            for(auto i : s) {
                if(i != '0') {
                    p += i;
                    s.erase(s.begin());
                    tem += s;
                    break;
                } else {
                    tem += i;
                }
                s.erase(s.begin());
            }
            s = tem;
        }
        // cout << "p : ";
        // cout << p << '\n';
        // cout << "s : "; 
        // cout << s << '\n';
        if(p == "0") {
            cout << p << ' ';
        } else {
            cout << con(p) << ' ';
        }
        cout << con(s);
    } else {
        string ans = "";
        ans += s[0];
        s.erase(s.begin());
        cout << ans << ' ';
        cout << con(s);
    }

}
	 
	
	

int main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	
	int cn = 1;
	// cin >> cn;
	
	while(cn--)
		solve();
	
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

123456

output:

1 23456

result:

ok ok

Test #2:

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

input:

42

output:

2 4

result:

ok ok

Test #3:

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

input:

000

output:

-1 -1

result:

ok ok

Test #4:

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

input:

4418409405

output:

0 104444589

result:

ok ok

Test #5:

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

input:

82933602294918208962

output:

10 202222334668889999

result:

ok ok

Test #6:

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

input:

264727800857314294187884421131

output:

100111122223 344444567777888889

result:

ok ok

Test #7:

score: 0
Accepted
time: 0ms
memory: 3540kb

input:

5879012924529447774473489599650098351318

output:

-1 -1

result:

ok ok

Test #8:

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

input:

61899560303187317666207432000671179900997026617305

output:

-1 -1

result:

ok ok

Test #9:

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

input:

0

output:

-1 -1

result:

ok ok

Test #10:

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

input:

0000000000000000010

output:

0 100000000000000000

result:

ok ok

Test #11:

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

input:

72

output:

2 7

result:

ok ok

Test #12:

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

input:

9407809440087866606

output:

0 400004466667788899

result:

ok ok

Test #13:

score: -100
Wrong Answer
time: 1ms
memory: 3548kb

input:

89809008899888899001

output:

80 100088888888999999

result:

wrong answer not used all '0'