n,m=map(int,input().split())
a=list(map(int,input().split())) #메모리
c=list(map(int,input().split())) #가격
dp=[-999]*10001
dp[0]=0
for i in range(n):
for j in range(10001):
if(c[i]+j>10000 or dp[j]<0):continue
dp[c[i]+j]=max(dp[c[i]+j],dp[j]+a[i])
for i in range(10001):
if(dp[i]>=m):print(i);break
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
99 ms |
3156 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
23 ms |
3124 KB |
Output is correct |
2 |
Correct |
147 ms |
3200 KB |
Output is correct |
3 |
Incorrect |
70 ms |
3300 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
392 ms |
3208 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
194 ms |
3280 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
920 ms |
3236 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
809 ms |
3212 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
948 ms |
3204 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |