class Solution {
public:
vector<pair<int, int>> vp;
int cached[1001];
int dp(int idx) {
int& ret = cached[idx+1];
if(ret == 0) {
for(int i = idx + 1; i < vp.size(); i++) {
if(idx == -1 || vp[idx].second <= vp[i].second)
ret = max(ret, dp(i) + vp[i].second);
}
}
return ret;
}
int bestTeamScore(vector<int>& scores, vector<int>& ages) noexcept {
int size = ages.size();
vp = vector<pair<int, int>>(size);
for(int i = 0 ; i < size; i++) {
vp[i] = {ages[i], scores[i]};
}
sort(vp.begin(), vp.end());
memset(cached, 0, sizeof cached);
return dp(-1);
}
};
재귀 dp
재밌음
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.