cifre

Time limit: 0.05s Memory limit: 16MB Input: cifre.in Output: cifre.outPoints by default: 10p

Liisa se joacă cu cifrele. Ea scrie pe o foaie de hârtie mai multe numere. Le privește îndelung și apoi îi vine ideea de a adăuga după fiecare cifră pară, a fiecărui număr jumătatea acesteia. Numește aceste numere, numere rezultat. Fiecărui număr rezultat, îi atașează un număr numit număr imagine, pe care îl construiește după următorul algoritm: asociază, mai intâi numărului rezultat un vector ce conține numărul de apariții al fiecărei cifre în numărul rezultat, de la cifra 00 până la cifra 99. Apoi construiește, folosind vectorul de apariții, un nou număr, în care cifra unităților este restul împărțirii la 1010 al numărului de apariții a celei mai mari cifre din numărul rezultat, cifra zecilor va fi restul împărțirii la 1010 al numărului de apariții a următoarei celei mai mari cifre din numărul rezultat și tot așa până la epuizarea cifrelor numărului rezultat. Acest număr, este numit de Liisa, număr imagine al numărului rezultat. Când termină treaba, se hotărăște să facă din acest joc o mică problemă de informatică, pe care să o dea surorii ei să o rezolve, că tot se pregătește pentru apropiata olimpiadă de informatică.

Cerință

Cunoscând numărul NN de numere și numerele scrise la început de Liisa pe foaia de hârtie, scrieţi un program care să rezolve următoarele două cerinţe:

  1. Determină numerele rezultat obținute de Liisa, pentru cele NN numere.
  2. Determină cel mai mare dintre numerele imagine obținute și numărul său de apariții în șirul celor NN numere imagine.

Date de intrare

Fişierul de intrare cifre.in conţine pe prima linie două numere naturale, separate printr-un spațiu, CC și NN, care reprezintă cerinţa care trebuie să fie rezolvată (11 sau 22), respectiv numărul de numere scrise de Liisa pe foaia de hârtie. A doua linie din fișier conține NN numere naturale și nenule, separate între ele prin spațiu, ce reprezintă numerele scrise de către Liisa pe foaia de hârtie.

Date de ieșire

Pentru cerința 11, fişierul de ieşire cifre.out va avea o singură linie ce va conține NN numere naturale, separate prin spațiu, ce reprezintă numerele rezultat obținute.

Dacă cerința este 22, fișierul de ieșire cifre.out va conține două numere naturale, separate prin spațiu ce reprezintă cel mai mare dintre numerele imagine obținute și numărul său de apariții în șirul celor NN numere imagine.

Restricții și precizări

  • 1C21 \leq C \leq 2
  • 1N1 0001 \leq N \leq 1 \ 000
  • Numerele din fișierul de intrare sunt nenule și au maxim 99 cifre.
  • Numerele scrise în fișierul de ieșire vor avea cel mult 1818 cifre.
  • Pentru rezolvarea corectă a primei cerințe se obțin 4040 de puncte, iar pentru rezolvarea corectă a celei de a doua cerințe se obțin 5050 de puncte.

Exemplul 1

cifre.in

1 1
7458

cifre.out

742584

Explicație

După fiecare cifră pară a numărului din șir, se inserează o cifră egală cu jumătatea acesteia, rezultând numărul rezultat.

Exemplul 2

cifre.in

2 5
18442 4128 4289 7805609 5087069

cifre.out

41111111 2

Explicație

Se observă, că din șirul de nn numere se determină cel mai mare număr imagine care este 4111111141111111 și există două numere rezultat ce obțin acest număr imagine, astfel: pentru numărul 78056097805609 se obține numărul rezultat 7840056300978400563009. Numărul imagine atașat lui este 4111111141111111. Pentru numărul 50870695087069 se obține numărul rezultat 5008470063950084700639. Numărul imagine atașat lui este 4111111141111111.

Log in or sign up to be able to send submissions!