Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | okcpp.in, okcpp.out | Sursă | ONI 2017, clasa a 9-a |
Autor | Ionel-Vasile Pit-Rada | Adăugată de | |
Timp execuţie pe test | 0.05 sec | Limită de memorie | 36864 kbytes |
Scorul tău | N/A | Dificultate | N/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).
h2. 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.in | okcpp.out | Explicaţie |
---|---|---|
1 5 2 99997 100001 | 3 | Avem K=4 ş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. |