結果
問題 | No.664 超能力者Aと株価予測 |
ユーザー |
|
提出日時 | 2018-03-09 22:52:58 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 11 ms / 4,000 ms |
コード長 | 1,392 bytes |
コンパイル時間 | 1,714 ms |
コンパイル使用メモリ | 169,504 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-10 10:59:43 |
合計ジャッジ時間 | 2,512 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 15 |
ソースコード
#define _USE_MATH_DEFINES#include "bits/stdc++.h"using namespace std;#define FOR(i,j,k) for(int (i)=(j);(i)<(int)(k);++(i))#define rep(i,j) FOR(i,0,j)#define each(x,y) for(auto &(x):(y))#define mp make_pair#define MT make_tuple#define all(x) (x).begin(),(x).end()#define debug(x) cout<<#x<<": "<<(x)<<endl#define smax(x,y) (x)=max((x),(y))#define smin(x,y) (x)=min((x),(y))#define MEM(x,y) memset((x),(y),sizeof (x))#define sz(x) (int)(x).size()#define RT return#define vv(a,b,c,d) vector<vector<a> >(b,vector<a>(c,d))#define vvv(a,b,c,d,e) vector<vector<vector<a> > >(b,vv(a,c,d,e))using ll = long long;using pii = pair<int, int>;using vi = vector<int>;using vll = vector<ll>;// dp[分][持ち株] = 最大資金ll dp[400][22];int main() {ios::sync_with_stdio(false);cin.tie(0);cout << fixed << setprecision(20);int N, M, K;cin >> N >> M >> K;N++;MEM(dp, -1);dp[0][0] = K;vi A(N);rep(i, N)cin >> A[i];rep(i, N) rep(j, M + 1) {ll cur = dp[i][j];if (cur == -1)continue;smax(dp[i + 1][j], cur);for (int ni = i + 1; ni < N; ++ni) {if (A[ni] > A[i]) {ll nex = cur / A[i] * A[ni] + cur%A[i];smax(dp[ni+1][j + 1], nex);}}}ll ans = -1;rep(i, M + 1)smax(ans, dp[N][i]);cout << ans << endl;}