Rezolvare PBinfo #4774

Decorative Icon Problema: lift / 4774

Decorative IconAutor: Darius

Codurile de acces la liftul unei clădiri de birouri sunt numere naturale de maximum 9 cifre. Fiecare cod se formează prin apăsarea unora dintre tastele de la 0 la 9. Trecerea timpului face ca anumite taste, apăsate mai des decât altele, să se uzeze și astfel, cifrele respective să nu mai fie vizibile. Inginerul de service vrea să înlocuiască cele mai uzate două taste. Dacă sunt uzate la maxim mai mult de două taste, inginerul le alege pe cele cu valoarea cifrei cât mai mare. De asemenea, se dorește identificarea celei mai puțin folosite dintre tastele apăsate (o tastă se consideră utilizată dacă a fost apăsată cel puțin o dată).

Cerința

Scrieți un program care afișează:
- tasta cu valoarea cea mai mică dintre cele folosite de cele mai puține ori, dacă cerința este 1
- cele două taste ce vor fi înlocuite, dacă cerința este 2

Date de intrare

Fișierul de intrare lift.in conține pe prima linie numărul cerinței, c. Pe a doua linie se află un număr natural n. În continuare sunt scrise n numere naturale reprezentând codurile de acces.

Date de ieșire

Fișierul de ieșire lift.out va conține:
- pentru cerința 1, tasta folosită cel mai puțin
- pentru cerința 2, valorile celor două taste cu uzură maximă. Numerele afișate se vor scrie în ordine crescătoare și vor fi separate printr-un singur spațiu (se garantează că s-au folosit măcar 2 taste distincte)

Restricții și precizări
  • 0 < n ≤ 100.000 (numărul de coduri)
  • Codurile formate pot avea minim una și maxim 9 cifre
  • Codurile formate se pot repeta
  • Se acordă 45 de puncte pentru cerința 1, 45 de puncte pentru cerința 2 și 10 puncte pentru exemple din enunț.
Exemplul 1:

lift.in

1
4
196048 947561 16497 245096

lift.out

2

Explicație

Cerința este 1. Tastele 2 și 8 au fost folosite o singură dată. Alegem pe cea mai mică dintre ele

Exemplul 2:

lift.in

1
3
100 100 100

lift.out

1

Explicație

Cerința este 1. Tasta 1 este cel mai puțin utilizată.

Exemplul 3:

lift.in

2
4
192048 947521 12497 245096

lift.out

4 9

Explicație

Cerința este 2. Tastele 2, 4 și 9 au fost folosite de 4 ori fiecare. Alegem pe cele mai mari două dintre ele

Exemplul 4:

lift.in

2
4
196068 947561 16497 245096

lift.out

6 9

Explicație

Cerința este 2. Tasta 6 a fost apăsată de 5 ori. Tasta 9 a fost utilizată de 4 ori. Sunt cele mai uzate taste, le afișăm în ordine crescătoare.

Exemplul 5:

lift.in

2
3
1500 1500 1500

lift.out

0 5

Explicație

Cerința este 2. Tasta 0 a fost apăsată de 6 ori. Tastele 1 și 5 au fost utilizate de câte 3 ori. Alegem pe cea mai mare dintre tastele 1 și 5. Afișarea se face în ordine crescătoare.

Decorative Icon Explică rezolvarea folosind Inteligența Artificială

Folosește modelul nostru de AI special antrenament pentru a rezolva problemele de pe PBinfo! În baza creditelor AI primești explicații pentru probleme, pe care le alegi și le rulezi exact atunci când dorești, la un singur click distanță! Află mai multe informații:

👉 Achiziționează credite AI
Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

LinkedIn Instagram GitHub
© Copyright 2026 - CodulLuiAndrei.ro - Toate drepturile sunt rezervate