// yukicoder: No.664 超能力者Aと株価予測 // 2019.8.21 bal4u #include #if 1 #define gc() getchar_unlocked() #else #define gc() getchar() #endif int in() { // 非負整数の入力 int n = 0, c = gc(); do n = 10 * n + (c & 0xf); while ((c = gc()) >= '0'); return n; } int dp[25][400]; int a[400]; inline static void chmax(int *ma, int x) { if (*ma < x) *ma = x; } int main() { int i, fr, to, N, M, K, ans; N = in(), M = in(), K = in(); for (i = 0; i <= N; i++) a[i] = in(); for (i = 0; i <= N; i++) dp[0][i] = K; for (i = 1; i <= M; i++) { for (to = 1; to <= N; to++) { for (fr = 0; fr < to; fr++) if (a[fr] < a[to]) { int x = dp[i-1][fr]/a[fr]*(a[to]-a[fr]) + dp[i-1][fr]; // 資金の変化 chmax(&dp[i][to], x); } } for (to = 1; to <= N; to++) chmax(&dp[i][to], dp[i][to-1]); } ans = 0; for (i = 0; i <= M; i++) chmax(&ans, dp[i][N]); printf("%d\n", ans); return 0; }