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,…,Yn⋅n)Y=\left( Y_1, Y_2, \ldots,Y_{n \cdot n}\right) cu n⋅nn \cdot n elemente obținute din toate produsele de câte două elemente din șirul XX (fiecare element din șirul YY este de forma Xi⋅XjX_i \cdot X_j, 1≤i1 \leq i, j≤nj \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
  • 1≤p1<p2≤n21 \leq p_1 < p_2 \leq n^2
  • 1≤Xi<300 0001 \leq X_i < 300 \ 000, i={1…n}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 n≤100n \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 6⋅66 \cdot 6 și 2⋅22 \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: 3⋅33 \cdot 3, 3⋅53 \cdot 5, 3⋅23 \cdot 2, 3⋅63 \cdot 6, 5⋅35 \cdot 3, 5⋅55 \cdot 5, 5⋅25 \cdot 2, 5⋅65 \cdot 6, 2⋅32 \cdot 3, 2⋅52 \cdot 5, 2⋅22 \cdot 2, 2⋅62 \cdot 6, 6⋅36 \cdot 3, 6⋅56 \cdot 5, 6⋅26 \cdot 2, 6⋅66 \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]=18−10=8Y[5] - Y[11] = 18 - 10 = 8

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