Picioroange

Time limit: 0.4s Memory limit: 64MB Input: picioroange.in Output: picioroange.out

Cerință

Ești un circar acrobat la Cirque du Soleil, faimos pentru trucurile tale la înălțime. Pentru a realiza aceste numere, ai o pereche de picioroange a căror înălțime o poți modifica.

Inițial, picioroangele tale au înălțimea srcsrc (păstrată de la ultimul spectacol). Din păcate, pentru următorul număr spectaculos ai nevoie să ajungi exact la o altă înălțime, numită tgttgt. Iar dacă ghinionul lovește o dată, poate lovi încă o dată: nu ai nicio riglă la dispoziție ca să poți măsura exact cât trebuie să ajustezi.

Cu toate acestea, lângă tine ai o cutie vv cu NN alte picioroange, a căror înălțime o cunoști, fiecare fiind un număr natural (evident, nu există picioroange negative 🙂). Te-ai gândit să le folosești pentru a calcula cât trebuie să tai sau să adaugi la picioroangele curente pentru a ajunge la înălțimea țintă. Astfel, la fiecare mișcare poți adăuga sau scoate material egal cu înălțimea oricăreia dintre picioroangele din listă, modificând astfel înălțimea picioroangelor curente cu valoarea inaltimii acelui element.

Atentie! Poti face calculul acesta de oricate ori doresti. Astfel, poti sa adaugi inaltimea echivalenta a unui obiect din lista de oricate ori doresti.

Deoarece ești leneș, vrei să-ți ajustezi picioroangele în timpul cel mai scurt posibil.

Știi sigur că printre picioroange există una de mărime 1, deci, cu suficientă răbdare, poți ajunge la orice înălțime dorești.

Date de intrare

Datele de intrare se vor citii din fisierul picioroange.in.
Pe prima linie, se gaseste un număr natural NN reprezentand numarul de picioroange din cutia ta.
Pe a doua linie, se gasesc NN numere naturale, separate prin spațiu.
Pe a treia linie, se gasesc 2 numere naturale, srcsrc și tgttgt, separate prin spațiu.

Date de ieșire

Pe prima linie a fișierului de ieșire picioroange.out se va găsi un singur număr natural, reprezentand numarul minim de pasi pentru a ajunge la target.

Restricții și precizări

  • 1n1001 \leq n \leq 100;
  • 0src,tgt10000000 \leq src, tgt \leq 1\,000\,000
  • 0v[i]1000 \leq v[i] \leq 100;

Exemplul 1

picioroange.in

5
4 3 1 9 12
2 14

picioroange.out

1

Explicație

Va adăuga 1212 la src pentru a ajunge la înălțimea 1414.

Exemplul 2

picioroange.in

1
1
3 1

picioroange.out

2

Explicație

Va scădea de două ori 11 de la src pentru a ajunge la înălțimea 11.

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