Problem Statement:

The game is simple. You initially have ‘H’ amount of health and ‘A’ amount of armor. At any instant you can live in any of the three places - fire, water and air. After every unit time, you have to change your place of living. For example if you are currently living at fire, you can either step into water or air.

If you step into air, your health increases by 3 and your armor increases by 2

If you step into water, your health decreases by 5 and your armor decreases by 10

If you step into fire, your health decreases by 20 and your armor increases by 5

If your health or armor becomes <=0, you will die instantly

Find the maximum time you can survive.


The first line consists of an integer t, the number of test cases. For each test case there will be two positive integers representing the initial health H and initial armor A.


For each test case find the maximum time you can survive.


Note: You can choose any of the 3 places during your first move.


Input Constraints:

1 <= t <= 10
1 <= H, A <= 1000


Sample Input:

2 10
4 4
20 8

Sample Output:


hide comments
kya_bantai: 2020-10-12 15:11:09

MY 15th

distructo: 2020-10-01 20:13:03

If you are at W or F just go to A .

coolboy7: 2020-07-18 10:05:56

what is this spoiler

kjolly96: 2020-06-23 15:47:10

[spoiler] is the way to go!! :)

Ragavendra: 2020-05-31 03:42:03

Make sure you solution covers this test case:
18 18

output: 5

amar_shukla1: 2020-05-16 15:25:39

learnt something new ,my 50th on spoj

cereal_killah: 2020-05-13 14:08:47

what is test case 5 ???
my code was working for hitman's test cases

zerodark: 2020-03-04 05:33:28

No need of dp greedy approach works.

bmad_221: 2020-01-22 14:54:55


killer_knight: 2019-10-14 20:21:14

make sure while using [spoiler]..your [spoiler] should be greater than [spoiler].. [spoiler] is working fine :)

Last edit: 2019-11-04 16:22:39

Added by:cegprakash
Time limit:10s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64