Interfibo

Time limit: 0.3s Memory limit: 16MB Input: interfibo.in Output: interfibo.out

În lumea algoritmilor, există un loc mistic, numit Fiboworld, în care locuitorilor, meșteșugari fiind, le place să creeze obiecte magice, fiecare obiect magic xx având o valoare numerică asociată. Însă, pe lângă a construi obiecte magice, locuitorii din Fiboworld sunt fascinați și de secvența de numere Fibonacci. Ei cred că pentru orice număr fibo din această secvență, perechile de obiecte magice ale căror valori sumate se apropie cel mai mult de fibo, având totuși o valoare mai mare sau egală cu fibo, aduc noroc, ele devenind astfel fibo-norocoase.
Eroul nostru, un călător în timp și spațiu, dorește să facă un cadou locuitorilor din Fiboworld, combinând două obiecte magice (x,y)(x, y) pentru a forma o astfel de pereche fibo-norocoasă. Totuși, ambițios de fel, acesta își propune să ia în considerare acele perechi fibo-norocoase asociate primului număr fibo mai mare sau egal decât un număr ales KK.

Date de intrare

Prima linie a fișierului de intrare interfibo.in conține un număr întreg NN, reprezentând numărul de obiecte magice create de locuitorii din Fiboworld. A doua linie conține NN numere întregi separate prin spațiu, reprezentând valoarea numerică a fiecărui obiect magic. A treia linie conține un număr întreg KK, reprezentând numărul ales de erou.

Date de ieșire

Fișierul de ieșire interfibo.out va conține o pereche de numere (x,y)(x, y) care îndeplinește condițiile menționate mai sus, unde xyx \leq y. Dacă există mai multe astfel de perechi, se va afișa cea pentru care xx are valoarea minimă. Dacă nu există o astfel de pereche, se va afișa (1,1)(−1, −1).

Restricții și precizări

  • În cazul in care există, se garantează că soluția este unică.
  • Perechea va fi afișată între paranteze rotunde, iar cele două numere vor fi separate prin virgulă.
  • 2N1062 \leq N \leq 10^6.
  • 1K10181 \leq K \leq 10^{18}.
  • 1A[i]1091 \leq A[i] \leq 10^9, unde ii este indexul fiecărui element din șirul AA.
  • Pentru teste în valoare de 55 puncte, K=A[i]+A[j]K = A[i] + A[j], i,j[1,n]\forall i, j \in [1, n].
  • Pentru alte teste în valoare de 55 puncte, șirul AA este sortat crescător.
  • Pentru alte teste în valoare de 2020 puncte, N104N \leq 10^4.
  • Pentru alte teste în valoare de 7070 de puncte, nu există restricții suplimentare.

Exemplul 1

interfibo.in

6
7 3 14 10 1 12
20

interfibo.out

(7,14)

Explicație

Pentru K=20K = 20, eroul nostru va căuta perechiile de numere din șir care sunt 21-norocoase, perechea pe care o va dărui locuitorilor din Fiboworld fiind reprezentată de perechea de numere (7,14)(7, 14).

Exemplul 2

interfibo.in

5
6 10 2 8 4
30

interfibo.out

(-1,-1)

Explicație

Pentru K=30K = 30, eroul nostru va căuta perechiile de numere din șir care este 34-norocoase. Nu exista nicio pereche de numere în șirul dat care să îndeplinească această condiție.

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