题目:
分析:
#include <iostream>
#include <vector>
using namespace std;
//求两个数的最大公约数
int max_com(int x, int y)
{
while(x%y!=0)
{
int left=x%y;//余数
x=y;
y=left;
}
return y;
}
int main()
{
int animal;//怪兽数量
int n0;//初始能力值
while(cin>>animal>>n0)
{
vector<int> v(animal);//存储怪兽体力值
for(int i=0;i<animal;i++)
{
cin>>v[i];
}
int cur=n0;//当前能力值
for(int i=0;i<v.size();i++)
{
if(v[i]<=cur)//当前能力值>=当前怪兽武力值
{
cur+=v[i];
}
else
{
cur+=max_com(cur, v[i]);
}
}
cout<<cur<<endl;
}
return 0;
}