>Link
ybtoj采药问题
>解题思路
背包模板
>代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define N 1010
using namespace std;
int T, n, t[N], w[N], f[N], ans;
int main()
{
scanf ("%d%d", &T, &n);
for (int i = 1; i <= n; i++) scanf ("%d%d", &t[i], &w[i]);
for (int i = 1; i <= n; i++)
for (int j = T; j >= 1; j--)
if (j - t[i] >= 0)
f[j] = max (f[j], f[j - t[i]] + w[i]);
for (int i = 1; i <= T; i++) ans = max (ans, f[i]);
printf ("%d", ans);
return 0;
}