Submission #70964360


Source Code Expand

function main(stdin) {
  // eslint-disable-next-line unused-imports/no-unused-vars, no-unused-vars
  const { next, nextstr, nextbig, nexts, nextssort, nextm, xArray } = makeInputReader(stdin)
  const x = next()
  let num = x
  const nums = Array.from({ length: 10 }, () => 0)
  let carry = 0
  while (num !== 0) {
    nums[num % 10]++
    num = Math.floor(num / 10)
    carry++
  }
  carry--
  let res = 0
  for (let i = 1; i < 10; i++) {
    if (nums[i] !== 0) {
      res += i * 10 ** carry
      nums[i]--
      carry--
      break
    }
  }
  for (let i = 0; i < 10; i++) {
    while (nums[i] !== 0) {
      res += i * 10 ** carry
      nums[i]--
      carry--
    }
  }
  return res
}
function makeInputReader(input) {
  const cin = input.trim().split(/ |\n/)
  let cid = 0
  function createNDArray(shape, fillFn) {
    if (shape.length === 0)
      return fillFn()
    const [dim, ...rest] = shape
    return Array.from({ length: dim }, () => createNDArray(rest, fillFn))
  }
  return {
    next: () => Number(cin[cid++]),
    nextstr: () => cin[cid++],
    nextbig: () => BigInt(cin[cid++]),
    nexts: (n, addNum = 0, parse = true) =>
      parse ? cin.slice(cid, cid += n).map(s => Number(s) + addNum) : cin.slice(cid, cid += n),
    nextssort: (n, parse = true, desc = false) =>
      parse
        ? cin.slice(cid, cid += n).map(Number).sort((a, b) => desc ? b - a : a - b)
        : cin.slice(cid, cid += n).sort((a, b) => desc ? b.localeCompare(a) : a.localeCompare(b)),
    nextm: (h, w, parse = true) => {
      const res = []
      for (let i = 0; i < h; i++) {
        const row = cin.slice(cid, cid += w)
        res.push(parse ? row.map(Number) : row)
      }
      return res
    },
    xArray: createNDArray,
  }
}
if (require.main === module) {
  const fs = require('node:fs')
  const input = fs.readFileSync('/dev/stdin', 'utf8')
  console.log(main(input))
}
module.exports = { main }

Submission Info

Submission Time
Task B - Permute to Minimize
User xhksun
Language JavaScript (Node.js 22.19.0)
Score 200
Code Size 1975 Byte
Status AC
Exec Time 41 ms
Memory 42112 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 3
AC × 17
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 41 ms 42072 KiB
00_sample_01.txt AC 24 ms 42112 KiB
00_sample_02.txt AC 24 ms 42048 KiB
01_test_00.txt AC 24 ms 42100 KiB
01_test_01.txt AC 24 ms 42080 KiB
01_test_02.txt AC 24 ms 42048 KiB
01_test_03.txt AC 24 ms 42048 KiB
01_test_04.txt AC 24 ms 42072 KiB
01_test_05.txt AC 24 ms 42112 KiB
01_test_06.txt AC 24 ms 42112 KiB
01_test_07.txt AC 24 ms 42112 KiB
01_test_08.txt AC 24 ms 42016 KiB
01_test_09.txt AC 24 ms 42112 KiB
01_test_10.txt AC 24 ms 42072 KiB
01_test_11.txt AC 24 ms 42028 KiB
01_test_12.txt AC 24 ms 42072 KiB
01_test_13.txt AC 24 ms 42080 KiB