【求助】编译不通过,数组过大
查看原帖
【求助】编译不通过,数组过大
121479
聪明的猪楼主2020/9/22 10:27

其实我不是要题解,我只想骗过编译器

#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

2020/9/22 10:27
加载中...