首页 > 试题广场 >

小易的升级之路

[编程题]小易的升级之路
  • 热度指数:36291 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
小易经常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a.在接下来的一段时间内,他将会依次遇见n个怪物,每个怪物的防御力为b1,b2,b3...bn. 如果遇到的怪物防御力bi小于等于小易的当前能力值c,那么他就能轻松打败怪物,并 且使得自己的能力值增加bi;如果bi大于c,那他也能打败怪物,但他的能力值只能增加bi 与c的最大公约数.那么问题来了,在一系列的锻炼后,小易的最终能力值为多少?

输入描述:
对于每组数据,第一行是两个整数n(1≤n<100000)表示怪物的数量和a表示小易的初始能力值.
然后输入n行,每行整数,b1,b2...bn(1≤bi≤n)表示每个怪物的防御力


输出描述:
对于每组数据,输出一行.每行仅包含一个整数,表示小易的最终能力值
示例1

输入

3 50
50 105 200
5 20
30 20 15 40 100

输出

110
205
头像 hyandsg
发表于 2021-01-31 11:14:31
基本思路:唯一的考点就是最大公约数的求法吧。。 import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); 展开全文
头像 c小白进击之路
发表于 2021-04-05 16:35:39
判断经验(能力值)的累加问题; 没有越级杀怪,经验正常累加, 若越级杀怪,使用最大公约数(辗转相除法)求出经验,进行累加; #include<stdio.h> int main() {     int a,b;     while(~scanf(" 展开全文
头像 牛客499819205号
发表于 2021-10-15 18:47:32
#include <iostream> #include <vector> using namespace std; int getP(int i, int j) { int minimal = min(i,j); for(int k = 2; k <= 展开全文
头像 牛客328964442号
发表于 2021-09-01 09:55:43
#include<stdio.h> //遍历 // int helper(int m, int n) // { // int res = 0; // for(int i=1; i<=n; i++) // { // if(n%i==0 & 展开全文
头像 雨落天门
发表于 2023-03-02 14:41:27
import java.util.Scanner; /** 2023/3/2 14:07 */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner 展开全文
头像 有趣的迪恩在看牛客
发表于 2023-10-01 20:52:27
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = 展开全文
头像 牛客568863653号
发表于 2022-04-12 16:32:12
难点:接受数据;求最大公约数 public class Main{ public static int gcd(int a,int b){ int c; while(b!=0){ c=a%b; 展开全文
头像 bao_hu_yuan_zhang
发表于 2024-01-14 15:04:24
#include <iostream> #include <vector> #include <algorithm> #include<numeric> using namespace std; int main() { int i=0; 展开全文
头像 硌手的小虫子
发表于 2023-04-16 17:39:06
import java.util.*; import java.io.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) throws Exce 展开全文
头像 牛客149855094号
发表于 2024-03-08 15:18:38
def get_maxgys(a,b): if a<b: a,b=b,a while b: a, b = b, a%b return a while True: try: n,a=list(map(in 展开全文