pyk

Time limit: 0.3s Memory limit: 8MB Input: pyk.in Output: pyk.out

Fie kk, nn și yy trei numere naturale.
Fie XX un șir format din nn numere naturale: x1,x2,x3,,xnx_1, x_2, x_3, \ldots, x_n.
Fie PP produsul numerelor y,x1,x2,x3,,xny, x_1, x_2, x_3, \ldots, x_n, adică: P=yx1x2x3xnP = y \cdot x_1 \cdot x_2 \cdot x_3 \cdot \ldots \cdot x_n.

Numărul PP este o “kk-putere” dacă există un număr natural zz astfel încât P=zkP=z^k.

Cerință

Scrieţi un program care să citească numerele kk, nn, x1x_1, x2x_2, x3x_3, \dots, xnx_n şi care să determine:

  1. Cel mai mic număr și cel mai mare număr din șirul XX, formate doar din cifre identice;
  2. Descompunerea în factori primi a celui mai mic număr natural yy (y2y \geq 2) cu proprietatea că numărul P=yx1x2x3xnP = y \cdot x_1 \cdot x_2 \cdot x_3 \cdot \ldots \cdot x_n este o “kk-putere“.

Date de intrare

Fișierul de intrare pyk.in conține:

  • Pe prima linie, un număr natural CC reprezentând cerința din problemă care trebuie rezolvată (11 sau 22);
  • Pe a doua linie, numerele naturale kk și nn, separate printr-un singur spațiu;
  • Pe a treia linie, cele n numere naturale x1,x2,x3,,xnx_1, x_2, x_3, \dots, x_n, separate prin câte un singur spaţiu.

Date de ieșire

Dacă C=1C=1, atunci prima linie a fişierului de ieşire pyk.out conţine două numere naturale, separate printr-un singur spațiu, reprezentând răspunsul la cerința 11 a problemei. Dacă nu există astfel de numere, prima linie a fișierului va conține valoarea 11.

Dacă C=2C=2, atunci fișierul de ieşire pyk.out conține:

  • pe prima linie, un număr natural mm reprezentând numărul de factori primi distincți din descompunerea în factori primi a numărului yy, determinat la rezolvarea cerinței 22;
  • pe fiecare dintre următoarele mm linii (câte o linie pentru fiecare factor prim din descompunerea în factori primi a lui yy), câte două valori FF şi EE, separate printr-un singur spaţiu, reprezentând factorul prim FF și exponentul EE al acestui factor din descompunerea în factori primi a lui yy.

Scrierea în fişier a acestor factori primi se va face în ordinea crescătoare a valorii lor.

Restricții și precizări

  • 2n50 0002 \leq n \leq 50 \ 000;
  • 2k1002 \leq k \leq 100;
  • 2x1,x2,x3,,xn10 0002 \leq x_1, x_2, x_3, \dots, x_n \leq 10 \ 000;
  • 2y2 \leq y;
  • Pentru rezolvarea corectă a cerinţei 11 se acordă 1010 puncte;
  • Pentru rezolvarea corectă a cerinței 22 se acordă 9090 de puncte.

Exemplul 1

pyk.in

1
2 7
122 1111 5 4 88 123 999

pyk.out

4 1111

Explicație

Cerința este 11, k=2k=2, n=7n=7.
Numerele din șirul XX formate doar din cifre identice sunt: 11111111, 55, 44, 8888, 999999. Cel mai mic număr dintre acestea este 44, iar cel mai mare este 11111111.

Exemplul 2

pyk.in

2
3 6
12 5 60 125 4 36

pyk.out

3
2 1
3 2
5 1 

Explicație

Cerința este 22, k=3k=3, n=6n=6. Produsul celor 66 numere din șir este: 12560125436=6480000012 \cdot 5 \cdot 60 \cdot 125 \cdot 4 \cdot 36 = 64800000.

y=90y=90 este cea mai mică valoare pentru care P=9064800000=18003P=90 \cdot 64800000 = 1800^3 devine o “kk-putere“.

Descompunerea în factori primi a lui yy conține m=3m=3 factori primi: 2132512^1 \cdot 3^2 \cdot 5^1

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