All submissions for this problem are available.
Nikhil has designed the following game. The game is played in a
set of rooms in a dungeon, arranged in an M × N
rectangular grid. In one of the rooms, the evil wazir has imprisoned
the princess. The noble prince is on his way to rescue the
The prince starts in the room at the top left corner of the grid,
which is labelled (1,1). Each room contains some guards. It takes a
certain amount of time before the prince can kill all the guards in
the room he is in. The time taken to kill the guards varies from room
to room. Once he has killed all the guards in a room, he can move on
to any one of its neighbours by going left, right, up or down,
provided, of course, that there is a neighbouring room in the
The wazir, knowing that the prince is on his way, has set a time
bomb that will kill the princess after T seconds. You will
be given the position of the princess, the time left for the bomb to
go off and the time it takes for the prince to kill the guards in each
of the rooms in the dungeon. Your task is to determine if it is
possible for the prince to reach the princess and save her by defusing
the bomb before the T seconds expire.
For example, suppose the dungeon is described by the following
grid of numbers.
2 3 2 2 5 1 5 3 1 3 1 1
The number at position (i,j) indicates the time taken for
the prince to overpower the guards in room (i,j). Suppose the
princess is in the room at position (4,2). If T = 10. there
is no way the prince can reach the princess in time. However, if
T = 15, the prince can reach the princess with 4 seconds to
spare, as follows. Starting from (1,1), he moves right to (1,2) and
then (1,3), comes down all the way to (4,3) and then moves (4,2). This
takes 11 seconds (note that he must also overpower the guard in the
room where the princess is incarcerated). You can check that he cannot
reach the princess with more than 4 seconds to spare by any route.
The first line contains two integers M and N indicating the number of rows and columns in the rectangular dungeon. Lines 2,3,…,M+1 contain N positive integers. The jth integer on line i+1 is the time taken to overpower the guards at room (i,j). The last line in the input, line M+2, contains three integers a, b and T, where (a,b) is the position of the cell where the princess is held and T is the amount of time before the bomb goes off.
If it is not possible for the prince to save the princess then print a single line with the answer NO. Otherwise, print two lines. The first line should say YES. The second line should contain a single integer indicating the maximum possible time to spare when the prince rescues the princess.
You may assume that 1 ≤ N,M ≤ 70.
Input: 4 3 2 3 2 2 5 1 5 3 1 3 1 1 4 2 15 Output: YES 4
|Time Limit:||0.196491 sec|
|Source Limit:||50000 Bytes|
|Languages:||C, CPP14, JAVA, PYTH, PYTH 3.5, PYPY, CS2, PAS fpc, PAS gpc, RUBY, PHP, GO, NODEJS, HASK, rust, SCALA, swift, D, PERL, FORT, WSPC, ADA, CAML, ICK, BF, ASM, CLPS, PRLG, ICON, SCM qobi, PIKE, ST, NICE, LUA, BASH, NEM, LISP sbcl, LISP clisp, SCM guile, JS, kotlin, PERL6, TEXT, SCM chicken, CLOJ, COB, FS|
Fetching successful submissions
If you are still having problems, see a sample solution here.