#B0004. Aki的魔法

    ID: 6372 传统题 1500ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>双指针前缀和二分查找分支结构

Aki的魔法

题目描述

Aki是霍格沃兹学院的优秀魔法学生,掌握各种战斗和日常魔法。可Aki并不是一个乖孩子,一天,他看到了魔法商店陈列出来的一排宝石,便有了小心思。

已知每个宝石都有一个魔力值aia_i(正整数),魔力值越高,宝石能发挥的作用就越大(例如对装备的强化和附魔)。现在Aki可以使用1次“偷窃魔法”,将一段连续的宝石传送到自己的魔法口袋里,然后神不知鬼不觉地溜走。

Aki的目标是顺走的宝石魔力值之和大于等于ss,但是Aki每顺走一个宝石,就要消耗1点体力,Aki想知道,在达成目标的情况下,他所消耗的体力值最小是多少?

输入格式

第一行两个数nnss,代表宝石的个数、和需要顺走的宝石魔力值之和的最小值; 第二行是n个正整数,代表宝石的魔力值aia_i

对所有测试数据,满足 n105n\le10^5, ai1000a_i\le1000

输出格式

如果能达成目标,则输出这个最小体力消耗;否则输出-1

5 4
1 3 1 1 2
2
5 10
1 1 1 1 2
-1
5 5
1 1 1 1 1
5

Hint

第一个样例:选取第2到第3个宝石,满足3+1>=4,且只需要花费2点体力; 第二个样例:无法达成目标; 第三个样例:选取第1到第5个宝石,可以达成目标,需要花费5点体力。