def can_jump(nums):
    max_reachable = 0
    for i, jump in enumerate(nums):
        if i > max_reachable:
            return False
        max_reachable = max(max_reachable, i + jump)
    return max_reachable >= len(nums) - 1

# اختبارات
print(can_jump([2, 3, 1, 1, 4]))  # مخرج: True
print(can_jump([3, 2, 1, 0, 4]))  # مخرج: False
