#include <bits/stdc++.h>
int sort_inc(const void *a, const void *b) { return (*(int *)a - *(int *)b); }
int sort_dec(const void *a, const void *b) { return (*(int *)b - *(int *)a); }
int sort_dec_ll(const void *a, const void *b) {
  long long int da = *(long long int *)a, db = *(long long int *)b;
  int val = 0;
  if (da > db) {
    val = -1;
  } else if (da == db) {
    val = 0;
  } else {
    val = 1;
  }
  return val;
}
int sort_inc_ll(const void *a, const void *b) {
  long long int da = *(long long int *)a, db = *(long long int *)b;
  int val = 0;
  if (da > db) {
    val = 1;
  } else if (da == db) {
    val = 0;
  } else {
    val = -1;
  }
  return val;
}
int sort_dic(const void *a, const void *b) {
  char *pa = (char *)a;
  char *pb = (char *)b;
  int i = 0, val = 0, N = 10;
  for (i = 0; i < N; i++) {
    char da = pa[i], db = pb[i];
    if (da == db) continue;
    if (da > db)
      val = 1;
    else
      val = -1;
    break;
  }
  return val;
}
void yesno(int ans) {
  if (ans == 1) {
    printf("Yes\n");
  } else {
    printf("No\n");
  }
  return;
}
void okng(int ans) {
  if (ans == 1) {
    printf("OK\n");
  } else {
    printf("NG\n");
  }
  return;
}
int A[201] = {0};
int move[201] = {0};
int main() {
  int N = 0;
  scanf("%d", &N);
  int i = 0;
  for (i = 1; i <= N; i++) {
    scanf("%d", &A[i]);
  }
  for (i = 2; i <= N + 1; i++) {
    if (A[i - 1] < A[i]) {
      move[i - 1] = 1;
    } else if (A[i - 1] > A[i]) {
      move[i - 1] = 2;
    } else {
    }
  }
  int val = 0;
  int money = 1000;
  for (i = 1; i <= N; i++) {
    if (move[i] == 1) {
      int remain = money % A[i];
      val = (money - remain) / A[i];
      money = remain;
    } else if (move[i] == 2) {
      if (val == 0) {
      } else {
        money += val * A[i];
        val = 0;
      }
    } else {
    }
  }
  printf("%d\n", money);
  return 0;
}
