写的另一版 O(N^4) 的都过了,而且最慢的也只跑了 24ms,为什么这版T了?
#include<bits/stdc++.h>
#define ll long long
#define MOD 998244353
using namespace std;
set<ll>B;
ll n,a[85];
unordered_map<ll,ll>dp[85][85];
signed main(){
ios::sync_with_stdio(false);
cin>>n;
for(ll i=1;i<=n;i++)cin>>a[i];
for(ll i=1;i<=n;i++){
for(ll j=1;j<i;j++)
(dp[2][i][a[i]-a[j]]+=1)%=MOD;
for(ll len=3;len<=i;len++)
for(ll j=1;j<i;j++)
(dp[len][i][a[i]-a[j]]+=dp[len-1][j][a[i]-a[j]])%=MOD;
}
for(ll i=1;i<=n;i++)
for(ll j=1;j<=n;j++)
B.insert(a[i]-a[j]);
cout<<n<<" ";
for(ll len=2;len<=n;len++){
ll res=0;
for(ll i=1;i<=n;i++)
for(ll j:B)(res+=dp[len][i][j])%=MOD;
cout<<res<<" ";
}
return 0;
}