100 #P299. 练50.2 卡牌游戏 II

练50.2 卡牌游戏 II

说明

小明在玩一种卡牌游戏,他有 $n$ 张卡牌,每张卡牌上写着一个正整数 $a_i$,表示该卡牌对敌人的伤害值,即打出这张卡牌会使敌人的血量减少 $a_i$。已知敌人的血量为 $b$,当敌人的血量小于等于 $0$ 时,小明就取得了胜利。
小明需要按照顺序依次使用每张牌,对敌人造成伤害。小明想知道他使用了多少卡牌之后就可以取得胜利了。如果用光所有卡牌,依然不能取得胜利,需要输出 $-1$。

输入格式

第一行,两个空格隔开的正整数$n$,$b$($1≤n≤10^5$,$1≤b≤10^{18}$),分别为卡牌的数目和敌人的血量;
第二行,$n$ 个空格隔开的整数 $a_i$($1≤a_i≤10^9$),为每张卡牌的伤害值;小明会按照读入的卡牌的顺序出牌。

输出格式

输出一行,包含一个整数,表示小明需要使用的卡牌数目。如果用光所有卡牌,依然不能击退敌人,输出 $-1$。

样例

3 5
2 3 4
2