其实我不是要题解,我只想骗过编译器
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
int _herbs[10005][5];
int _dp[10005][10000005];
int main(void)
{
int m = 0;
long long t = 0;
memset(_herbs, 0, sizeof (_herbs));
memset(_dp, 0, sizeof (_dp));
scanf("%lld %d", &t, &m);
for (int i = 1; i < m + 1; i++)
{
scanf("%d %d", &_herbs[i][0], &_herbs[i][1]);
}
for (int i = 1; i < m + 1; i++)
{
for (long long j = 0; j < t + 1; j++)
{
if (_herbs[i][0] > j)
{
_dp[i][j] = _dp[i - 1][j];
}
else
{
_dp[i][j] = max(_dp[i - 1][j], _dp[i - 1][j - _herbs[i][0]] + _herbs[i][1]);
}
}
}
printf("%d\n", _dp[m][t]);
return 0;
}
奇了怪了,之前明明还能编译过呢。求助dalao如何在不改数组大小的情况下通过编译awa