#include <bits/stdc++.h>
using namespace std;
constexpr int dx[8] = {1, 0, -1, 0, 1, -1, -1, 1};
constexpr int dy[8] = {0, 1, 0, -1, 1, 1, -1, -1};
template <class T>
inline bool chmax(T& a, T b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
inline bool chmin(T& a, T b) {
  if (a > b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
inline void dump(T& v) {
  for (auto i = v.begin(); i != v.end(); i++) {
    cout << (*i) << ((i == --v.end()) ? '\n' : ' ');
  }
}
inline string getline() {
  string s;
  getline(cin, s);
  return s;
}
inline void yn(const bool b) {
  b ? cout << ("yes") << '\n' : cout << ("no") << '\n';
}
inline void Yn(const bool b) {
  b ? cout << ("Yes") << '\n' : cout << ("No") << '\n';
}
inline void YN(const bool b) {
  b ? cout << ("YES") << '\n' : cout << ("NO") << '\n';
}
struct io {
  io() {
    ios::sync_with_stdio(false);
    cin.tie(0);
  }
};
const int INF = INT_MAX;
constexpr long long int LLINF = 1LL << 60;
constexpr long long int MOD = 1000000007;
constexpr long double EPS = 1e-11;
int main() {
  int n;
  cin >> n;
  vector<int> v(n);
  for (long long int i = 0; i < (n); ++i) cin >> v[i];
  int m = 1000;
  int k = 0;
  for (long long int i = 0; i < (n); ++i) {
    if (i == n - 1) {
      m += k * v[i];
      break;
    } else if (v[i] == v[i + 1]) {
      continue;
    } else if (v[i] < v[i + 1]) {
      if (v[i] > m) continue;
      k += m / v[i];
      m = m - m / v[i] * v[i];
    } else {
      m += k * v[i];
      k = 0;
    }
  }
  cout << (m) << '\n';
}
