时间复杂度 O(nk)
313. 超级丑数
class Solution {
public:
int nthSuperUglyNumber(int n, vector<int>& primes) {
vector <int> ans(n+1,0);
vector <int> p(primes.size(),1);
int m=primes.size();
ans[1]=1;
for (int i=2;i<=n;i++){
int mmin=2e9;
for (int j=0;j<m;j++){
mmin=min(mmin,primes[j]*ans[p[j]]);
}
for (int j=0;j<m;j++){
if (primes[j]*ans[p[j]]==mmin) p[j]++;
}
ans[i]=mmin;
}
return ans[n];
}
};