C++小易のアップグレードの道

6264 ワード

小易のアップグレードの道
#include
#include
//       
using namespace std;
int gcd(int a, int b) {
 if (b == 0)
  return a;
 else
  return gcd(b, a % b);
}

int func(int n, int a, vector<int> arr) {
 int i = 0;
 while (i < arr.size()) {
  if (a >= arr[i]) {
   a += arr[i];
  }
  else {
   a += gcd(a, arr[i]);
  }
  i++;
 }
 return a;
}
int main() {
 int n = 0;//   
 int a = 0;//     
 while (cin >> n >> a) {
  vector<int> arr(n);
  for (int i = 0; i < n; i++) {
   cin >> arr[i];
  }
  int end = func(n, a, arr);
  cout << end << endl;
 }
 return 0;
}