Submission #67545089


Source Code Expand

const isPalindromic = (a) => {
    for (let i = 0; i < a.length; i++) {
        if (a[i] !== a[a.length - 1 - i]) return false;
    }
    return true;
}

function Main(inputText) {
    /** @type {String[][]} - スペース区切りと改行区切りをそのまま2次元配列に変えた状態 */
    const input = inputText.trim().split("\n").map(row => row.split(" "));
    /* ==== 本体 ==== */
    const A = +input[0][0];
    const N = +input[1][0];
    // Nは10進数で何桁?
    const N_digits_inDec = Math.floor(Math.log10(N)) + 1;
    // D桁の10進数回文な数はceil(D/2)桁の数全部列挙して反転してくっつければOK
    // これなら全探索しても間に合うんじゃないですかね、たぶん
    // 列挙パート
    const palindromics_inDec = [];
    for (let i = 1; i <= N_digits_inDec; i++) {
        const halfDigits = Math.ceil(i / 2);
        const min_in_halfDigits = 10 ** (halfDigits - 1);
        const min_in_halfDigitsNext = 10 ** halfDigits;
        for (let j = min_in_halfDigits; j < min_in_halfDigitsNext; j++) {
            const str = String(j);
            let making = str;
            if (i % 2 === 0) making += str[str.length - 1];
            for (let k = str.length - 2; k >= 0; k--) {
                making += str[k];
            }
            // const arr = Array.from(str);
            // 奇数桁なら最後いらないので吹き飛ばす
            // if (i % 2 === 1) arr.pop();
            // const rev = arr.reverse().join("");
            const num = /*+(str + rev)*/+making;
            if (num > N) {
                break;
            } else {
                palindromics_inDec.push(num);
            }
        }
    }
    // 全部A進数にして総和カウント
    let sigma = 0;
    for (let i = 0; i < palindromics_inDec.length; i++) {
        const num = palindromics_inDec[i];
        const conv = num.toString(A);
        // const conv_rev = Array.from(conv).reverse().join("");
        if (isPalindromic(conv) /*conv === conv_rev*/) {
            sigma += num;
        }
    }
    console.log(sigma);
}
/* ==== これを書かないといけないらしい ==== */
Main(require("fs").readFileSync("/dev/stdin", "utf8"));

Submission Info

Submission Time
Task C - Palindromic in Both Bases
User AXT_AyaKoto
Language JavaScript (Node.js 18.16.1)
Score 0
Code Size 2282 Byte
Status TLE
Exec Time 3316 ms
Memory 130308 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 350
Status
AC × 3
AC × 30
TLE × 3
Set Name Test Cases
Sample 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt
All 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt
Case Name Status Exec Time Memory
00-sample-01.txt AC 46 ms 42652 KiB
00-sample-02.txt AC 1622 ms 130136 KiB
00-sample-03.txt AC 2242 ms 130036 KiB
01-01.txt AC 39 ms 42676 KiB
01-02.txt AC 39 ms 42852 KiB
01-03.txt TLE 3182 ms 130132 KiB
01-04.txt AC 1964 ms 130120 KiB
01-05.txt AC 1583 ms 130132 KiB
01-06.txt AC 2361 ms 130100 KiB
01-07.txt AC 2083 ms 130072 KiB
01-08.txt AC 1876 ms 130200 KiB
01-09.txt TLE 3316 ms 130308 KiB
01-10.txt AC 2243 ms 130104 KiB
01-11.txt AC 39 ms 42848 KiB
01-12.txt AC 82 ms 60392 KiB
01-13.txt AC 39 ms 42624 KiB
01-14.txt AC 82 ms 60380 KiB
01-15.txt AC 39 ms 42792 KiB
01-16.txt AC 50 ms 49380 KiB
01-17.txt AC 39 ms 42760 KiB
01-18.txt AC 50 ms 49364 KiB
01-19.txt TLE 3217 ms 107184 KiB
01-20.txt AC 40 ms 43044 KiB
01-21.txt AC 43 ms 47360 KiB
01-22.txt AC 39 ms 42740 KiB
01-23.txt AC 40 ms 43076 KiB
01-24.txt AC 40 ms 43208 KiB
01-25.txt AC 43 ms 47416 KiB
01-26.txt AC 42 ms 47276 KiB
01-27.txt AC 74 ms 57756 KiB
01-28.txt AC 39 ms 42708 KiB
01-29.txt AC 39 ms 42792 KiB
01-30.txt AC 39 ms 42708 KiB