Fişierul intrare/ieşire:okcpp.in, okcpp.outSursăONI 2017, clasa a 9-a
AutorIonel-Vasile Pit-RadaAdăugată deBLz0rDospra Cristian BLz0r
Timp execuţie pe test0.05 secLimită de memorie36864 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Okcpp

Despre numărul natural N spunem că are proprietatea okcpp dacă oricum alegem K cifre ale sale vom găsi printre ele cel puţin P cifre distincte
(oricare k cel puţin p).

Cerinţe

(1) Fiind date numerele naturale K, P, A şi B să se calculeze şi să se afişeze numărul de numere okcpp din intervalul [A,B].
(2) Fiind date numerele naturale K, P şi N să se calculeze şi să se afişeze cel mai mic număr okcpp care este mai mare sau egal cu N.

Date de intrare

Fişierul de intrare okcpp.in conţine pe primul rând numărul C.
Dacă C=1, atunci pe al doilea rând se vor afla scrise, separate prin spaţiu, numerele naturale K, P, A şi B.
Dacă C=2, atunci pe al doilea rând se vor afla scrise, separate prin spaţiu, numerele naturale K, P şi N

Date de ieşire

Dacă C=1, atunci în fişierul de ieşire okcpp.out se va scrie numărul de numere okcpp din intervalul [A;B].
Dacă C=2, atunci în fişierul de ieşire okcpp.out se va scrie cel mai mic număr natural okcpp care este mai mare sau egal cu N.

Restricţii şi precizări

  • 1 ≤ P ≤ 10
  • P ≤ K ≤ numărul de cifre al lui N ≤ 18
  • Pentru 20% din teste cerinţa va fi C=1
  • Pentru cerinţa C=1 vom avea 0 ≤ A < B < 1018 şi B-A ≤ 10000
  • Pentru cerinţa C=2 se garantează că există întotdeauna soluţie

Exemplu

okcpp.inokcpp.outExplicaţie
1
5 2 99997 100001
3
Avem K=5 şi P=2. În intervalul
[99997;100001] sunt trei numere okcpp:
99997, 99998 şi 100001.
2
5 3 99997
100023
Avem K=5, P=3 şi N=99997. Se observă
uşor că numerele 99997, 99998 , …,
100022 nu corespund. Primul număr care
corespunde cerinţelor este 100023.
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?