我正在解决在hackerearth平台上给出的问题。我有逻辑,我的python解决方案立即被接受。下面的cpp代码有问题
#include <iostream>
#define ll long long
using namespace std;
int main(){
ll int n,m;
cin>>m>>n;
ll int a[m];
for(ll int i=0;i<m;i++)
cin>>a[i];
ll int b[n+1]={0};
b[0]=1;
for(ll int e:a){
for(ll int i=e;i<=n;i++){
b[i]+=b[i-e];
}
}
cout<<(b[n]%(1000000000+7));
}
不检查逻辑。这是正确的。问题是没有得到585888586,而是得到-250167331。我必须带10 ^ 9 + 7的模组。否定的答案不会来。由于数据类型问题,该问题正在发生。 python中的相同代码已被接受。怎么了
我是cpp的新手,所以我可能犯了愚蠢的错误。
这是问题的链接