bool comp(vector<int>v1,vector<int>v2){
return(v2[1]>v1[1]);
}
class Solution {
public:
int dp[20004][10002];
int solve(vector<vector<int>>& courses,long int time,int n){
if(dp[time][n]!=-1){
return dp[time][n];
}
if(n>=courses.size()){
return dp[time][n]=0;
}
if(courses[n][0]+time<=courses[n][1]){
return dp[time][n]=max(solve(courses,time,n+1),1+solve(courses,time+courses[n][0],n+1));
}
else{
return dp[time][n]=solve(courses,time,n+1);
}
}
void init(){
for(auto i=0;i<10002;i++){
for(auto j=0;j<10002;j++){
dp[i][j]=-1;
}
}
}
int scheduleCourse(vector<vector<int>>& courses) {
init();
sort(courses.begin(),courses.end(),comp);
return solve(courses,0,0);
}
};
link to problem :https://leetcode.com/problems/course-schedule-iii/ Dont know why getting error , done lot of research on my side but all in vain. any help will be aprreciated.
Aucun commentaire:
Enregistrer un commentaire