CSES - Putka Open 2020 – 3/5 - Numerot
  • Time limit: 1.00 s
  • Memory limit: 512 MB

Merkitään f(n)f(n):llä pienintä askelten määrää prosessissa, jossa aloitetaan luvusta nn ja joka askeleella valitaan jokin luvun numeroista ja vähennetään se luvusta, kunnes päästään lukuun 00.

Esimerkiksi f(15)=3f(15)=3, koska optimaalinen ratkaisu on 15109015 \rightarrow 10 \rightarrow 9 \rightarrow 0.

Kun annettuna on positiivinen kokonaisluku xx, tehtäväsi on etsiä pienin positiivinen kokonaisluku kk, jolle pätee f(k)=xf(k)=x.

Syöte

Syötteen ensimmäisellä rivillä on kokonaisluku tt: testien määrä.

Tämän jälkeen tulee tt riviä, joista jokaisella on yksi kokonaisluku xx: haluttu askelten määrä.

Tuloste

Tulosta jokaisesta testistä pienin kokonaisluku kk, jolle pätee f(k)=xf(k)=x. Jos tällaista lukua ei ole, tulosta sen sijasta 1-1.

Esimerkki

Syöte:

5
1
2
3
4
5

Tuloste:

1
10
11
20
22

Osatehtävä 1 (12 pistettä)

  • 1t10001 \le t \le 1000
  • 1x10001 \le x \le 1000

Osatehtävä 2 (13 pistettä)

  • 1t10001 \le t \le 1000
  • 1x1061 \le x \le 10^6

Osatehtävä 3 (75 pistettä)

  • 1t10001 \le t \le 1000
  • 1x10181 \le x \le 10^{18}