numere

Time limit: 0.03s Memory limit: 8MB Input: numere.in Output: numere.outPoints by default: 10p

Adriana este pasionată de matematică. Recent, a aflat despre numere cu aspect de munte, pe care le-a numit numere-munte și numere cu aspect de vale, pe care le-a numit numere-vale.
Un număr-munte are o singură cifră denumită cifră-vârf, toate cifrele lui au valori strict crescătoare de la prima cifră până la cifra-vârf și au valori strict descrescătoare de la cifra-vârf la ultima cifră. Un număr-vale are toate cifrele cu valori strict descrescătoare de la prima cifră până la ultima cifră. De exemplu, numerele 1573215732 și 143143 sunt numere-munte, numerele 732732 și 8431084310 sunt numere-vale. Numerele 78,718,42321,2374578,718,42321, 23745 nu sunt nici numere-munte, nici numere-vale.
Având un șir de nn numere naturale, Adriana trebuie să obțină următoarele rezultate:

  1. Câte numere-munte și câte numere-vale sunt în șir.
  2. Care este cel mai mic număr-munte care este palindrom, obținut prin utilizarea unui număr maxim de cifre diferite între ele, dintre toate cifrele conținute de numerele-munte din șir.
    Un număr natural este palindrom dacă numărul citit de la stânga la dreapta coincide cu numărul citit de la dreapta la stânga.

Cerință

Scrieţi un program care, cunoscând numărul cerinței cc (egal cu 11 sau cu 22), numărul nn și un șir de nn numere naturale, va obține:

  • pentru cerința 11: Să se afișeze câte numere-munte și câte numere-vale sunt în șir.
  • pentru cerința 22: Să se afișeze cel mai mic număr-munte care este palindrom și este obținut prin utilizarea unui număr maxim de cifre diferite între ele, dintre toate cifrele conținute de numerele-munte din șir.

Date de intrare

Fişierul de intrare numere.in conţine pe prima linie două numere naturale nn și cc, ce reprezintă numărul de numere din șirul dat și respectiv numărul cerinței ce trebuie rezolvată. Pe a doua linie din fișier se află nn numere naturale ale șirului dat, separate între ele printr-un spațiu.

Date de ieșire

  • Dacă cerința este 11, fişierul de ieşire numere.out conţine pe prima linie două numere, separate prin spațiu, ce reprezintă câte numere-munte și câte numere-vale sunt în șir.
  • Dacă cerința este 22, fişierul de ieşire numere.out conţine pe prima linie un număr natural ce reprezintă cel mai mic număr-munte care este palindrom și este obținut prin utilizarea unui număr maxim de cifre diferite între ele, dintre toate cifrele conținute de numerele-munte din șir.

Restricții și precizări

  • 2n10002 \leq n \leq 1000
  • Fiecare număr din șir are cel puțin 33 cifre și cel mult 99 cifre nenule
  • În șirul de numere dat, există cel puțin un număr-munte și cel puțin un număr-vale (cerința 11).
  • Pentru testele utilizate, se asigură că se obține un număr-munte care este palindrom (cerința 22).
  • 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. Se acordă 1010 puncte din oficiu.

Exemplul 1

numere.in

7 1
15732 8321 1734 143 2891 2981 1152

numere.out

4 1

Explicație

Pentru cerința 11, în șirul dat sunt 44 numere-munte: 15732,143,2891,298115732, 143, 2891, 2981 și un număr vale :83218321.

Exemplul 2

numere.in

7 2
145732 163 3521 122 271 261 3121

numere.out

12356765321

Explicație

Pentru cerința 22, din șirul de numere dat se obține numărul-munte palidrom 1235676532112356765321 utilizând un număr maxim de cifre diferite între ele :1,2,3,5,6,71,2,3,5,6,7, dintre cifrele numerelor-munte 145732,163,3521,271,261145732, 163, 3521, 271, 261.

Exemplul 3

numere.in

7 2
261 146732 1583 35921 5522 271 9182

numere.out

4

Explicație

Pentru cerința 22, din șirul de numere dat se obține numărul-munte palidrom 12356787653211235678765321.

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