ConcursC++17

nozero

Se dau NN și KK.

Cerință

Se cere să se determine pentru a KK-a permutare în ordine lexicografică, a șirului 1,2,3,…,N1, 2, 3, \dots, N, câte poziții pp există astfel încât nici pp și nici valoarea de pe poziția pp nu conțin cifra zero.

Date de intrare

Pe prima linie din fișierul de intrare nozero.in se află scrise numerele NN și KK, separate printr-un spațiu.

Date de ieșire

În fișierul de ieșire nozero.out se va scrie valoarea căutată.

Restricții și precizări

  • 1≤N,K≤1 000 000 0001 \leq N, K \leq 1 \ 000 \ 000 \ 000
  • Un șir p1,p2,…,pNp_1, p_2, \dots, p_N este mai mic lexicografic decât un alt șir q1,q2,…,qNq_1, q_2, \dots, q_N, dacă există o poziție ii , 1≤i≤N1 \leq i \leq N, astfel încât pi<qip_i \lt q_i și pj=qjp_j = q_j, pentru orice jj, 1≤j<i1 \leq j \lt i.
  • Pentru teste valorând 16 puncte 1≤K,N≤1 0001 \leq K, N \leq 1\ 000.
  • Pentru alte teste valorând 33 puncte N≤500 000N \leq 500\ 000.
  • Pentru alte teste valorând 14 puncte K=1K = 1.

Exemplu

nozero.in

10 2

nozero.out

8

Explicație

A doua permutare în ordine lexicografică, de lungime 1010, este 1,2,3,4,5,6,7,8,10,91, 2, 3, 4, 5, 6, 7, 8, 10, 9.
Valoarea 99 nu conține cifra 00, dar se află pe poziția 1010, care conține cifra 00.
Valoarea 1010, de la poziția 99, conține cifra 00.
Toate celelalte 88 valori nu conțin cifra 00 și se află pe poziții care nu conțin cifra 00.

Sursă și autori

ONI 2019, clasele 10. Iordache Ioan-Bogdan.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑