解决在hackerearth平台上给出的问题

时间:2018-10-27 16:41:32

标签: c++

我正在解决在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的新手,所以我可能犯了愚蠢的错误。

这是问题的链接

https://www.hackerearth.com/practice/algorithms/dynamic-programming/introduction-to-dynamic-programming-1/practice-problems/algorithm/accomodation-a5c006f3/

0 个答案:

没有答案