dif2

Time limit: 0.6s Memory limit: 16MB Input: dif2.in Output: dif2.out

Sandu a studiat la ora de informatică mai multe aplicații cu vectori de numere naturale, iar acum are de rezolvat o problemă interesantă.

Se dă un șir X=(X1,X2,,Xn)X= \left(X_1, X_2, \ldots, X_n\right) de numere naturale nenule și două numere naturale p1p_1 și p2p_2, unde p1<p2p_1 < p_2.

Sandu trebuie să construiască un nou șir Y=(Y1,Y2,,Ynn)Y=\left( Y_1, Y_2, \ldots,Y_{n \cdot n}\right) cu nnn \cdot n elemente obținute din toate produsele de câte două elemente din șirul XX (fiecare element din șirul YY este de forma XiXjX_i \cdot X_j, 1i1 \leq i, jnj \leq n).

Sandu are de calculat două valori naturale d1d_1 și d2d_2 obținute din șirul YY. Valoarea d1d_1 este egală cu diferența maximă posibilă dintre două valori ale șirului YY. Pentru a obține valoarea d2d_2, Sandu trebuie să considere că șirul YY are elementele ordonate descrescător iar d2d_2 va fi diferența dintre valorile aflate pe pozițiile p1p_1 și p2p_2 în șirul ordonat descrescător. Sandu a găsit rapid valorile d1d_1 și d2d_2 și, pentru a le verifica, vă roagă să le determinați și voi.

Cerință

Dându-se șirul XX cu nn elemente și valorile p1p_1 și p2p_2, determinați valorile d1d_1 și d2d_2.

Date de intrare

Fișierul de intrare dif2.in va conține pe prima linie un număr natural CC care poate fi doar 11 sau 22. Dacă C=1C = 1, atunci pe linia a doua se va afla numărul natural nn. Dacă C=2C = 2, atunci pe linia a doua se vor afla numerele naturale nn, p1p_1 și p2p_2 separate prin câte un spațiu. În ambele cazuri, pe următoarele nn linii se vor afla elementele șirului XX, câte un număr natural pe fiecare linie a fișierului.

Date de ieșire

În cazul C=1C = 1, fișierul de ieșire dif2.out va conține pe prima linie valoarea d1d_1 egală cu diferența maximă dintre oricare două valori din șirul YY. În cazul C=2C = 2 fișierul de ieșire va conține pe prima linie un număr natural d2d_2 reprezentând diferența dintre valorile aflate pe pozițiile p1p_1 și p2p_2 din șirul YY, presupunând că ar fi ordonat descrescător.

Restricții și precizări

  • 3<N<300 0003 < N < 300 \ 000
  • 1p1<p2n21 \leq p_1 < p_2 \leq n^2
  • 1Xi<300 0001 \leq X_i < 300 \ 000, i={1n}i = \{ 1 \ldots n \}
  • Pentru teste valorând 3030 de puncte vom avea C=1C = 1, iar pentru teste valorând 7070 de puncte vom avea C=2C = 2
  • Pentru teste valorând 1010 puncte vom avea C=2C = 2 și n100n \leq 100

Exemplul 1

dif2.in

1
4
3
5
2
6

dif2.out

32

Explicație

Atenție, C=1C = 1, deci se rezolvă doar cerința 11!

Valoarea maximă d1 va fi 3232 și se obține efectuând diferența dintre 666 \cdot 6 și 222 \cdot 2.

Exemplul 2

dif2.in

2
4 5 11
3
5
2
6

dif2.out

8

Explicație

Atenție, C=2C = 2, deci se rezolvă doar cerința 22!
Se obțin în YY următoarele 1616 valori: 333 \cdot 3, 353 \cdot 5, 323 \cdot 2, 363 \cdot 6, 535 \cdot 3, 555 \cdot 5, 525 \cdot 2, 565 \cdot 6, 232 \cdot 3, 252 \cdot 5, 222 \cdot 2, 262 \cdot 6, 636 \cdot 3, 656 \cdot 5, 626 \cdot 2, 666 \cdot 6. Valoarea d2d_2 va fi 88, deoarece dacă vom considera șirul YY ordonat descrescător (36,30,30,25,18,18,15,15,12,12,10,10,9,6,6,436, 30, 30, 25, 18, 18, 15, 15, 12, 12, 10, 10, 9, 6, 6, 4), atunci Y[5]Y[11]=1810=8Y[5] - Y[11] = 18 - 10 = 8

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