Succesori

Time limit: 0.8s Memory limit: 32MB Input: succesori.in Output: succesori.out

Rareș a învățat la ora de informatică despre conceptul de succesor. Succesorul unui număr natural nenul XX este numărul S(X)S(X) obținut din XX, astfel: fiecare cifră strict mai mică decât 99 se înlocuiește cu cifra mai mare cu o unitate, iar cifra 99 se înlocuiește cu cifra 00. Din numărul obținut, se elimină cifrele nule aflate pe primele poziții, iar numărul 00 nu are succesor. De exemplu:

  • S(12)=23S(12) = 23;
  • S(944)=55S(944)=55;
  • S(795)=806S(795)=806;
  • S(999)=0S(999)=0;
  • S(999912)=23S(999912)=23;
  • S(9)=0S(9)=0.

Mihai, colegul lui Rareș, îi propune acestuia următoarea problemă: se dau două numere naturale nn, pp și un șir de nn numere naturale x1,x2,,xnx_1, x_2, \dots, x_n. Se scriu cele nn numere dispuse unul sub celălalt, câte unul pe un rând. Pe fiecare rând, se adaugă numere, după următoarea regulă:

  • Dacă ultimul număr de pe un rând este nenul, atunci, la rândul respectiv, se adaugă succesorul acelui ultim număr.
  • După ce s-au completat toate rândurile, și astfel fiecare rând se termină cu valoarea 0, se iau toate numerele de pe cele nn rânduri și se formează un șir.
  • Se ordonează crescător șirul obținut.

De exemplu, dacă n=3n=3, iar cele 3 numere date inițial de Mihai sunt 78,955278, 9552 și 752752, avem inițial 3 rânduri, fiecare cu câte un număr:

  1. 7878
  2. 95529552
  3. 752752

După ce se completează rândurile cu succesori, cele 3 rânduri complete vor fi:

  1. 7878 8989 9090 11 22 33 44 55 66 77 88 99 00
  2. 95529552 663663 774774 885885 996996 77 88 99 00
  3. 752752 863863 974974 8585 9696 77 88 99 00

Cu toate numerele, se formează șirul crescător următor:

000123456777888999788589909666375277486388597499695520\, 0 \, 0 \, 1 \, 2\, 3\, 4\, 5\, 6\, 7\, 7\, 7\, 8\, 8\, 8\, 9\, 9\, 9\, 78\, 85\, 89\, 90\, 96\, 663\, 752\, 774\, 863\, 885\, 974\, 996\, 9552

Cerință

Cunoscând numerele naturale nn, pp și cele nn numere naturale inițiale, determinați numărul situat pe poziția pp în șirul final obținut, dacă pozițiile sunt numerotate începând cu 11.

Date de intrare

Pe prima linie a fișierului succesori.in se află două numere naturale nn și pp, separate prin spațiu, cu semnificația din enunț. Pe următoarele nn linii ale fișierului, se află cele nn numere naturale nenule x1,x2,,xnx_1, x_2, \dots, x_n, câte unul pe linie, cu semnificația din enunț.

Date de ieșire

Pe singura linie a fișierului succesori.out se va afla un singur număr natural, reprezentând numărul situat pe poziția pp în șirul sortat, format după regula din enunț.

Restricții și precizări

  • 1n1061 \leq n \leq 10^6;
  • 1xn<10181 \leq x_n < 10^{18};
  • p<p < numărul total de numere din șirul ordonat obținut.
# Scor Restricții
1 7 n1 000n \leq 1 \ 000
2 15 1 000<n1051 \ 000 < n \leq 10^5
3 26 105<n510510^5 < n \leq 5 \cdot 10^5
4 52 5105<n1065 \cdot 10^5 < n \leq 10^6

Exemplul 1

succesori.in

3 23
78
9552
752

succesori.out

96

Explicație

Exemplul este explicat in enunțul problemei.

Exemplul 2

succesori.in

5 65
23314
12
10019324124
5566778
1423

succesori.out

89

Explicație

Se scriu pe rând succesorii pe fiecare rând, conform regulei. În șirul sortat obținut, pe poziția 6565, se află numărul 8989.

Exemplul 3

succesori.in

10 15
145123187
292253412
545220314
645144712
945114524
245100187
525656715
443123187
577856712
845223886

succesori.out

2

Explicație

În șirul sortat obținut după scrierea succesorilor, pe poziția 1515, se află numărul 22.

Exemplul 4

succesori.in

10 301
145123187698456712
122133567292253412
545220314744452740
645123187698456712
945123187222400714
245100187698456712
245123180025656715
443123187698456716
545223112577856712
745223886198456718

succesori.out

34596

Explicație

În șirul sortat obținut după scrierea succesorilor, pe poziția 301301, se află numărul 3459634596.

Log in or sign up to be able to send submissions!