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 15732
și 143
sunt numere-munte, numerele 732
și 84310
sunt numere-vale. Numerele 78
, 718
, 42321
, 23745
nu sunt nici numere-munte, nici numere-vale. Având un șir de n
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ța
Scrieţi un program care, cunoscând numărul cerinței c
(egal cu 1
sau cu 2
), numărul n
și un șir de n
numere naturale, va obține:
- pentru cerința 1: Să se afișeze câte numere-munte și câte numere-vale sunt în șir.
- pentru cerința 2 : 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 n
și c
, 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ă n
numere naturale ale șirului dat, separate între ele printr-un spațiu.
Date de ieșire
- Dacă cerința este 1, 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 2, 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
2 ≤ n ≤ 1000
- Fiecare număr din șir are cel puțin
3
cifre și cel mult9
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 1).
- Pentru testele utilizate, se asigură că se obține un număr-munte care este palindrom (cerința 2).
- Pentru rezolvarea corectă a primei cerințe se obțin 40 de puncte, iar pentru rezolvarea corectă a celei de a doua cerințe se obțin 50 de puncte. Se acordă 10 puncte pentru exemplele din enunț.
Exemplul 1:
numere.in
7 1 15732 8321 1734 143 2891 2981 1152
numere.out
4 1
Explicație
Pentru cerința 1, în șirul dat sunt 4
numere-munte: 15732
, 143
, 2891
, 2981
și un număr vale : 8321
.
Exemplul 2:
numere.in
7 2 145732 163 3521 122 271 261 3121
numere.out
12356765321
Explicație
Pentru cerința 2, din șirul de numere dat se obține numărul-munte palidrom 12356765321
utilizând un număr maxim de cifre diferite între ele: 1,2,3,5,6,7
, dintre cifrele numerelor-munte 145732
, 163
, 3521
, 271
, 261
.
Exemplul 3:
numere.in
7 2 261 146732 1583 35921 5522 271 9182
numere.out
1235678765321
Explicație
Pentru cerința 2, din șirul de numere dat se obține numărul-munte palidrom 1235678765321
.