LeetCode Weekly Contest 153
問題文
省略
省略
C++に変換後のコードはこちら
#define main dummy_main
{}
#undef main
class Solution {
public:
int makeArrayIncreasing(vector<int>& A, vector<int>& B) {
int i, j, k;
int N, M;
int dp[2001], nx[2001];
N = A.size();
M = B.size();
sort(B.begin(), B.end());
rep(i,N+1) dp[i] = int_inf;
dp[0] = -1;
rep(i,N){
rep(k,N+1) nx[k] = int_inf;
rep(k,N+1) if(dp[k] < A[i]) nx[k] <?= A[i];
rep(k,N) if(dp[k] < int_inf) {
j = upper_bound(B.begin(), B.end(), dp[k]) - B.begin();
if(j < M) nx[k+1] <?= B[j];
}
rep(k,N+1) dp[k] = nx[k];
}
rep(i,N+1) if(dp[i] < int_inf) return i;
return -1;
}
};
Current time: 2024年05月05日00時05分31秒
Last modified: 2019年09月14日17時22分24秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る
Logged in as: unknown user (not login)