Submission details
Task:Alien Invasion II
Sender:lnan95
Submission time:2020-09-19 14:53:51 +0300
Language:C++ (C++11)
Status:READY
Result:
Test results
testverdicttime
#10.01 sdetails
#20.01 sdetails
#30.01 sdetails

Code

// https://cses.fi/345/task/A
#include <bits/stdc++.h>
#define N 100010

using namespace std;
vector<int> g[N]; 
int flag = 0;
// optional
bool isNotPrime(int num, int &res) {
    int sqr = sqrt(num);
    for (int i=2; i<=sqr; i++) {
        if (num % i == 0) {
            res = i;
            return true; 
        }
    }
    return false;
}

void dfs(int num, int depth, int length) {
    if (flag) return;
    if (depth == 5) return;
    int r;
    
    for (int j=1; j<10; j++) {
        int m = pow(10, length) + num;
        if (isNotPrime(m, r) && !flag) {
            flag = 1;
            cout << m << endl;
            cout << r << " " << m/r;
            return;
        }
        dfs(m, depth+1, length+1);
    }

}
int main() {
    int n;
    cin >> n;
    
    int length = 0;
    int n_cp = n;
    while (n_cp) {
        n_cp/=10;
        length++;
    }

    int r = 0;
    if (isNotPrime(n, r)) {
        cout << n << endl;
        cout << r << " " << n/r;
        return 0;
    }

    dfs(n, 0, length);

    
}

Test details

Test 1

Verdict:

input
2368469234876449

correct output
22368469234876449
3 7456156411625483

user output
(empty)

Test 2

Verdict:

input
292929292929292929292929292931

correct output
129292929292929292929292929293...

user output
(empty)

Test 3

Verdict:

input
292929292929292929292929292979

correct output
129292929292929292929292929297...

user output
(empty)