编辑代码

// const { mkdir } = require("fs");

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
  const [m, n, k] = (await readline()).split(" ").map(Number);
  const x = parseInt(await readline());
  const shouHinns = [];
  const ans = [];
  for (let i = 0; i < x; i++) {
    shouHinns.push(parseInt(await readline()));
    let ans = [];
  }
  shouHinns.forEach((shouHinn) => {
    // const kenn1Max = Math.min(m, Math.floor(shouHinn / 100));
    // mn
    const kennMN = helper({ gold: shouHinn, kenn: 1, num1: m })[1] + 1;
    const goldMN = helper({
      gold: helper({ gold: shouHinn, kenn: 1, num1: m })[0],
      kenn: 2,
    });
    // nm
    // const kennNM = helper(shouHinn, 1, m)[1] + 1;

    const goldNM = helper({
      gold: helper({ gold: shouHinn, kenn: 2 }),
      kenn: 1,
      num1: m,
    })[0];
    // mk
    const kennMK = helper({ gold: shouHinn, kenn: 1, num1: m })[1] + k;
    const goldMK = helper({
      gold: helper({ gold: shouHinn, kenn: 1, num1: m })[0],
      kenn: 3,
      num3: k,
    });
    // km
    const goldKM = helper({
      gold: helper({ gold: shouHinn, kenn: 3, num3: k }),
      kenn: 1,
      num1: m,
    })[0];
    // nk
    const kennNK = k + 1;
    const goldNK = helper({
      gold: helper({ gold: shouHinn, kenn: 2 }),
      kenn: 3,
      num3: k,
    });
    // kn
    const goldKN = helper({
      gold: helper({ gold: shouHinn, kenn: 3, num3: k }),
      kenn: 2,
    });
    // ans.push(Math.min(goldMN, goldNM, goldMK, goldKM, goldNK, goldKN));
    // const gold = Math.min(goldMN, goldNM, goldMK, goldKM, goldKN, goldNK);
    const arr = [
      [goldMN, kennMN],
      [goldNM, kennMN],
      [goldMK, kennMK],
      [goldKM, kennMK],
      [goldNK, kennNK],
      [goldKN, kennNK],
    ];
    arr.sort((a, b) => {
      if (a[0] == b[0]) return a[1] - b[1];
      return a[0] - b[0];
    });
    console.log(arr);
    ans.push(arr[0]);
  });

  for (let i = 0; i < ans.length; i++) {
    console.log(ans[i][0] + " " + ans[i][1]);
  }
})();
const helper = ({ gold, kenn, num1 = 1, num3 = 1 }) => {
  if (!kenn) return gold;
  else {
    switch (kenn) {
      case 1:
        let k = 1;
        let kinn = gold;
        while (k <= num1 && Math.floor(kinn / 100) > 0) {
          kinn = kinn - Math.floor(kinn / 100) * 10;
          k++;
          // console.log(kinn, k);
        }
        return [kinn, k];
      case 2:
        return Math.floor(gold * 0.92);
      case 3:
        return gold - 5 * num3;
    }
  }
};
// };