Perechi

Time limit: 0.4s Memory limit: 128MB Input: perechi.in Output: perechi.out

Oglinditul unui număr natural xx este numărul obținut prin parcurgerea cifrelor lui xx de la dreapta la stânga, ignorându-se cifrele nule de pe ultimele poziții ale lui xx. De exemplu, oglinditul lui 103103 este 301301, în timp ce oglinditul lui 25002500 este 5252. O pereche de numere naturale distincte xx și yy se numește pereche oglindită dacă atât xx este oglinditul lui yy, cât și yy este oglinditul lui xx. De exemplu, numerele x=42x = 42 și y=24y = 24 formează o pereche oglindită, însă numerele x=1x = 1 și y=100y = 100 nu formează o pereche oglindită.

Un număr natural xx este considerat palindrom dacă xx este egal cu oglinditul său. De exemplu, numărul 4212442124 este palindrom. Din două numere distincte se poate forma un număr nou prin alipirea unuia la dreapta celuilalt. De exemplu, din numerele 124124 și 4242 se pot obține numerele 1244212442 (din alipirea lui 4242 la dreapta lui 124124) și 4212442124 (din alipirea lui 124124 la dreapta lui 4242).

Cerință

Fie un șir de numere naturale a1,a2,...,ana_1, a_2, ... , a_n. Determinați:

  1. Numărul perechilor de indici (i,j)(i, j), cu 1i<jn1 \le i \lt j \le n, având proprietatea că aia_i și aja_j formează o pereche oglindită.
  2. Cel mai mare număr palindrom care se poate forma prin alipirea a două numere distincte din șir.

Date de intrare

Fișierul perechi.in conține pe prima linie un număr natural CC, având valoarea 11 sau 22, reprezentând numărul cerinței. Pe a doua linie se află numărul natural nn. A treia linie din fișier conține șirul de numere naturale a1,a2,...,ana_1, a_2, ... , a_n, separate prin câte un spațiu.

Date de ieșire

Fișierul perechi.out va conține un singur număr, reprezentând rezultatul corespunzător pentru cerința dată.

Restricții

  • 1C21 \le C \le 2
  • 1n100 0001 \le n \le 100 \ 000
  • 1ai<10 0001 \le a_i \lt 10 \ 000
  • Se garantează că pentru cerința 11 există în șirul dat cel puțin o pereche oglindită, iar la cerința 22 există în șirul dat cel puțin un număr palindrom.
# Punctaj Restricții
1 27 C=1C = 1, n10 000n \le 10 \ 000
2 23 C=1C = 1, 10 000<n100 00010 \ 000 \lt n \le 100 \ 000
3 27 C=2C = 2, n10 000n \le 10 \ 000
4 23 C=2C = 2, 10 000<n100 00010 \ 000 \lt n \le 100 \ 000

Exemplul 1

perechi.in

1
5
21 12 21 12 21

perechi.out

6

Explicație

Există 66 perechi de indici cu proprietatea că valorile corespunzătoare lor formează perechi oglindite: (1,2),(1,4),(2,3),(2,5),(3,4)(1, 2), (1, 4), (2,3),(2,5), (3,4) și (4,5)(4,5). Fiecare dintre aceste perechi oglindite este compusă din valorile 1212 și 2121.

Exemplul 2

perechi.in

1
6
13 97 76 67 76 31

perechi.out

3

Explicație

Există 33 perechi de indici cu proprietatea că valorile corespunzătoare lor formează perechi oglindite: (1,6),(3,4)și(4,5)(1, 6), (3, 4) și (4, 5). Aceste perechi oglindite formate sunt: (13,31),(76,67),13, 31), (76, 67), respectiv, (67,76)(67, 76).

Exemplul 3

perechi.in

2
6
24 79 42 97 123 124

perechi.out

42124

Explicație

Se pot forma următoarele numere palindrom: 2442,4224,7997,97792442, 4224, 7997, 9779 și 4212442124. Cel mai mare dintre acestea este 4212442124.

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