为什么我代码会RE啊?数组没炸啊
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,dp[50][800];
signed main(){
cin>>n;
if(n==1){
cout<<0;
return 0;
}
int s=n*(n+1)/4;
dp[0][0]=1;
for(int i=1;i<=n;i++){
for(int j=s;j>=i;j++){
dp[i][j]=dp[i-1][j]+dp[i-1][j-i];
}
}
cout<<dp[n][s];
}