#include <bits/stdc++.h>
using ll = long long;
constexpr ll mod = 1e9 + 7;
constexpr ll INF = 1LL << 60;
template <class T>
inline bool chmin(T &a, T b) {
  if (a > b) {
    a = b;
    return true;
  }
  return false;
}
template <class T>
inline bool chmax(T &a, T b) {
  if (a < b) {
    a = b;
    return true;
  }
  return false;
}
ll gcd(ll n, ll m) {
  ll tmp;
  while (m != 0) {
    tmp = n % m;
    n = m;
    m = tmp;
  }
  return n;
}
ll lcm(ll n, ll m) { return abs(n) / gcd(n, m) * abs(m); }
using namespace std;
void solve() {
  ll n;
  cin >> n;
  vector<ll> a(n);
  for (ll i = (ll)0; i < (ll)n; ++i) cin >> a[i];
  vector<ll> b;
  for (ll i = (ll)0; i < (ll)n - 1; ++i) {
    if (a[i] != a[i + 1]) b.push_back(a[i]);
  }
  if (a.back() != a[n - 2]) b.push_back(a[n - 1]);
  ll ans = 1000;
  ll m = b.size();
  ll cul = 0;
  for (ll i = (ll)0; i < (ll)m - 1; ++i) {
    ll pos = i;
    if (b[i] < b[i + 1]) {
      while (pos < m - 1 && b[pos] < b[pos + 1]) {
        ++pos;
      }
      ll x = ans / b[i];
      ans -= x * b[i];
      ans += b[pos] * (x + cul);
      cul = 0;
      i = pos - 1;
    } else {
      while (pos < m - 1 && b[pos] > b[pos + 1]) {
        ++pos;
      }
      if (pos == m - 1) {
        i = pos;
        break;
      }
      ll x = ans / b[pos];
      ans -= x * b[pos];
      cul = x;
      i = pos - 1;
    }
  }
  cout << ans;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout << fixed << setprecision(15);
  solve();
  return 0;
}
