rt 这个代码,是AC代码
#include<iostream>
using namespace std;
int n,w,a[1005],f[10005];
const int mod=1e9+7;
int main(){
cin>>n>>w;
for(int i=1;i<=n;i++){
cin>>a[i];
}
f[0]=1;
for(int i=1;i<=w;i++){
for(int j=1;j<=n;j++){
if(i-a[j]>=0){
f[i]=(f[i]+f[i-a[j]])%mod;
}
}
}
cout<<(f[w]%mod)<<endl;
return 0;
}
但这个代码半WA半RE
#include<iostream>
using namespace std;
int n,w,a[1005],f[10005];
const int mod=1e9+7;
int main(){
cin>>n>>w;
for(int i=1;i<=n;i++){
cin>>a[i];
}
f[0]=1;
for(int i=1;i<=w;i++){
for(int j=a[i]j<=n;j++){
f[i]=(f[i]+f[i-a[j]])%mod;
}
}
cout<<(f[w]%mod)<<endl;
return 0;
}
请问这是为什么