C++
#include <cstdio>
#include <cstring>
#include <climits>
#include <algorithm>
using namespace std;
int N,K;
int dt[110][100010];//[n][k]
int dobo_t[110],dobo_m[110];
int ride_t[110],ride_m[110];
const int MIN_ = -1000000 * 100;
int serch(int n,int k){
if(n==0&&k>=0)
return 0;
if(k<0)
return MIN_;
if(dt[n][k]!=-1)
return dt[n][k];
return dt[n][k]=max(serch(n-1,k-dobo_t[n])+dobo_m[n],serch(n-1,k-ride_t[n])+ride_m[n]);
}
int main()
{
memset(dt,-1,sizeof(dt));
scanf("%d %d",&N,&K);
for(int i=1;i<=N;i++){
scanf("%d %d %d %d",&dobo_t[i],&dobo_m[i],&ride_t[i],&ride_m[i]);
}
printf("%d",serch(N,K));
return 0;
}
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 공지 | 안내사항 | 관리자 | 2019.12.02 | 179 |
| 201 | 4893 | 관리자 | 2019.12.20 | 149 |
| » | 4878 | 관리자 | 2019.12.20 | 149 |
| 199 | 4848 | 관리자 | 2019.12.20 | 152 |
| 198 | 4698 | 관리자 | 2019.12.20 | 148 |
| 197 | 4685 | 관리자 | 2019.12.20 | 206 |
| 196 | 4073 | 관리자 | 2020.04.06 | 160 |
| 195 | 4068 | 관리자 | 2020.04.06 | 219 |
| 194 | 4065 | 관리자 | 2019.12.20 | 155 |
| 193 | 4064 | 관리자 | 2020.04.06 | 157 |
| 192 | 4059 | 관리자 | 2020.04.06 | 5941 |
| 191 | 4055 | 관리자 | 2020.04.06 | 156 |
| 190 | 4044 | 관리자 | 2020.04.06 | 167 |
| 189 | 4043 | 관리자 | 2020.04.06 | 155 |
| 188 | 4040 | 관리자 | 2020.04.06 | 154 |
| 187 | 4039 | 관리자 | 2019.12.20 | 157 |
| 186 | 4035 | 관리자 | 2020.04.06 | 159 |
| 185 | 4034 | 관리자 | 2020.04.06 | 151 |
| 184 | 4028 | 관리자 | 2020.04.06 | 175 |
| 183 | 4023 | 관리자 | 2019.12.20 | 178 |
| 182 | 3740 | 관리자 | 2019.12.20 | 218 |
| 181 | 3730 | 관리자 | 2019.12.20 | 181 |
| 180 | 3719 | 관리자 | 2019.12.20 | 158 |
| 179 | 3716 | 관리자 | 2019.12.20 | 147 |
| 178 | 3713 | 관리자 | 2019.12.20 | 167 |
| 177 | 3712 | 관리자 | 2019.12.20 | 164 |
| 176 | 3709 | 관리자 | 2019.12.20 | 150 |
| 175 | 3708 | 관리자 | 2019.12.20 | 117 |
| 174 | 3707 | 관리자 | 2019.12.20 | 112 |
| 173 | 3705 | 관리자 | 2019.12.20 | 115 |