取球方案WA 68pts求助

#include <bits/stdc++.h>
using namespace std;
map<int,int> mp;
int dp[5005];
int main(){
	int q,k;
	cin>>q>>k;
	dp[0]=1;
	for(int i=1;i<=q;i++){
		char op;
		int x;
		cin>>op>>x;
		if(op=='+'){
			mp[x]++;
			for(int j=k;j>=x;j--){
				dp[j]=(dp[j]+dp[j-x])%998244353;
			}
		}else{
			mp[x]--;
			for(int j=x;j<=k;j++){
				dp[j]=(dp[j]-dp[j-x])%998244353;
			}
		}
		cout<<dp[k]<<endl;
	}
}

+MOD

@稻叶昙 AC了,关贴