Problema 1 – cifre 100 puncte
Un indicator numeric este un dispozitiv de afişaj electronic destinat afişării unei cifre zecimale.
Acesta conţine 7 segmente notate cu a, b, c, d, e, f, g, ca în figura alăturată.
Afişarea unei cifre se face prin aprinderea unei combinaţii de segmente conform tabelului:
Cifră 0 1 2 3 4 5 6 7 8 9
Segmente aprinse a,b,c,
d,e,f b,c a,b,d,
e,g a,b,c,
d,g b,c,
f,g a,c,d,
f,g a,c,d,
e,f,g a,b,c a,b,c,
d,e,f,g a,b,c,
d,f,g
Cerinţă
Cunoscând un număr natural N afişat cu ajutorul mai multor indicatoare numerice, să se scrie un program care determină:
1. Numărul de segmente aprinse pentru afişarea numărului N.
2. Numărul de numere distincte mai mari decât N,ce se pot forma prin aprinderea a cel puţin unui segment în plus, faţă de cele utilizate pentru afişarea numărului N,fără a folosi alte indicatoare numerice, şi fără a stinge nici un segment dintre cele deja aprinse.
Date de intrare
Fişierul de intrare este cifre.in
Pe prima linie a fişierului de intrare se găseşte numărul natural V a cărui valoare poate fi doar 1 sau 2.
Pe a doua linie a fişierului de intrare se găseşte numărul natural N.
Date de ieşire
Fişierul de ieşire este cifre.out
Dacă valoarea lui V este 1 atunci fişierul de ieşire va conţine pe prima linie un singur număr natural ce reprezintă numărul de segmente aprinse pentru afişarea numărului N.
Dacă valoarea lui V este 2 atunci fişierul de ieşire va conţine pe prima linie un singur număr natural reprezentând numărul de numere distincte mai mari decât N,ce se pot forma prin aprinderea a cel puţin unui segment în plus, faţă de cele utilizate pentru afişarea numărului N,fără a folosi alte indicatoare numerice.
Restricţii şi precizări
• 10 ≤ N ≤ 10 19
• 20% din teste vor avea valoarea V = 1, iar 80% din teste vor avea valoarea V = 2.
== include(page="template/taskheader" task_id="cifre2") ==
Se dau $N$ cifre. Cu acestea trebuie să formăm $K$ numere astfel încât suma acestor $K$ numere să fie minimă. Singura condiţie pe care trebuie să o respectăm în formarea celor $K$ numere este ca cifrele nule să nu se afle la începutul unui număr.
h2. Cerinţa
Determinaţi suma minimă care se poate obţine prin construirea a $K$ numere care să utilizeze toate cele $N$ cifre.
h2. Date de intrare
Fişierul $cifre5.in$ conţine pe prima linie două valori naturale $N$ şi $K$ cu semnificaţia de mai sus. Pe a doua linie fişierul conţine $N$ cifre separate prin câte un spaţiu.
h2. Date de ieşire
Fişierul $cifre5.out$ va conţine pe prima linie un singur număr care va reprezenta suma celor $K$ numere construite.
h2. Restricţii
* $2 ≤ N ≤ 100000$
* $1 ≤ K ≤ 100$
* $K ≤ N$
* cel puţin $K$ cifre dintre cele $N$ sunt nenule
h2. Exemplu
table(example). |_. cifre2.in |_. cifre2.out |
|7 3
2 1 0 4 9 9 1
|152|
h2. Explicaţie
Cu cele $7$ cifre trebuie să formăm $3$ numere. Suma minimă care putem să o obţinem este $152$ şi poate fi obţinută dacă construim numerele $19$, $24$ şi $109$. Există şi alte posibilităţi de a construi cele trei numere.
== include(page="template/taskfooter" task_id="cifre2") ==