풀이
윽
코드
#include <cstdio>
#include <cstring>
int n, m, m1, m2, dp[10001];
inline int max(int a, int b) { return a > b ? a : b; }
int main() {
while (1) {
scanf("%d %d.%d", &n, &m1, &m2);
if (!n) break;
memset(dp, 0, sizeof(dp));
m = m1 * 100 + m2;
int ans = 0;
for (int i = 0, c, p; i < n; i++) {
scanf("%d %d.%d", &c, &m1, &m2);
p = m1 * 100 + m2;
for (int j = p; j <= m; j++) {
dp[j] = max(dp[j], dp[j - p] + c);
ans = max(ans, dp[j]);
}
}
printf("%d\n", dp[m]);
}
return 0;
}
아무말
백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이