完全背包的问题,不知道还有什么情况没有考虑到

样例对但是提交时有错


#include<bits/stdc++.h>
using namespace std;
int a,e;
long long m[10000];
int long b,c,d;
int main()
{
    cin>>a>>b;
    memset(m,0,sizeof(m));
    while(a--)
    {
        cin>>c>>d;
        for(e=1;b>=e*c;e++)
        {
            for(int f=b;f>=e*c;f--)
            {
                m[f]=max(m[f],m[f-c]+d);
            }
            
        }
    }
    cout<<m[b]; 
    return 0;
}

我想知道什么情况没有考虑到

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

问题是什么