GESP C++ 六级 题目详解

 闯关游戏

描述

你来到了一个闯关游戏。

这个游戏总共有 N 关,每关都有 M 个通道,你需要选择一个通道并通往后续关卡。其中,第 i 个通道可以让你前进 ai​ 关,也就是说,如果你现在在第 x 关,那么选择第 i 个通道后,你将直接来到第 x+ai​ 关(特别地,如果 x+ai​≥N,那么你就通关了)。此外,当你顺利离开第 s 关时,你还将获得 bs​ 分。

游戏开始时,你在第 0 关。请问,你通关时最多能获得多少总分。

输入描述

第一行两个整数 N,M,分别表示关卡数量和每关的通道数量。

接下来一行 M 个用单个空格隔开的整数 a0​,a1​⋯,aM−1​。保证 1≤ai​≤N。

接下来一行 N 个用单个空格隔开的整数 b0​,b1​⋯,bN−1​。保证 ∣bi​∣≤105。

输出描述

一行一个整数,表示你通关时最多能够获得的分数。

样例输入 1 

6 2 
2 3
1 0 30 100 30 30

样例输出 1 

131

样例输入 2 

6 2
2 3
1 0 30 100 30 -1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值