Sphere Online Judge

SPOJ Problem Set (classical)

9655. Elevator Trouble

Problem code: ELEVTRBL


You are on your way to your rst job interview as a program tester, and you are already
late. The interview is in a skyscraper and you are currently in
oor s, where you see an
elevator. Upon entering the elvator, you learn that it has only two buttons, marked UP
u" and DOWN d". You conclude that the UP-button takes the elevator u
floors up
(if there aren't enough
oors, pressing the UP-botton does nothing, or at least so you
assume), whereas the DOWN-button takes you d stories down (or none if there aren't
enough). Knowing that the interview is at
floor g, and that there are only f
floors in
the building, you quickly decide to write a program that gives you the amount of button
pushes you need to perform. If you simply cannot reach the correct
floor, your program
halts with the message "use the stairs".
Given input f, s, g, u and d (
floors, start, goal, up, down), nd the shortest sequence
of button presses you must press in order to get from s to g, given a building of floors,
or output "use the stairs" if you cannot get from s to g by the given elevator.

Input

The input will consist of one line, namely f s g u d, where 1 <= s; g <= f <= 1000000 and
0 <= u; d <= 1000000. The
floors are one-indexed, i.e. if there are 10 stories, s and g be in
[1; 10].

Output

You must reply with the minimum numbers of pushes you must make in order to get from
s to g, or output use the stairs if it is impossible given the con guration of the elvator.

Example

Input:
10 1 10 2 1
Output:
6

Added by:Krzysztof Lewko
Date:2011-10-06
Time limit:1s
Source limit:50000B
Memory limit:256MB
Cluster: Pyramid (Intel Pentium III 733 MHz)
Languages:All
Resource:Nordic programming contest

hide comments
2013-11-01 08:15:38 Legolas
DFS gives WA, while BFS passes.
2013-09-06 17:35:30 Sourav Chakraborty
awesome problem :)
2013-07-03 06:48:30 shiva_hellgeek
easy one
:)
2013-05-12 14:48:52 Ashhar Jawaid
think it to be a tree ;) gr8 question
2013-05-10 09:09:30 Kumar Mrinal
Child's Play :D :D
2013-03-20 14:32:49 raunak_talwar
nyce1..AC :D
2013-01-22 18:31:38 GOLU
use cin cout instead of printf and scanf ....
2012-12-28 21:36:02 gabber
easy
:)
2012-09-22 11:46:49 Rahul Dubey
take care of the case if(s==g ) output is 0; it caused me 5-6 wrong answer :(:(
Also Test cases are too weak.. wrong solution getting accepted :P


Last edit: 2012-09-30 21:40:27
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.