#include<bits/stdc++.h>
using namespace std;
#define int long long
const int mod=998244353;
int dp[1005][40005];
int a[1005];
int n,ans=0;
int p=2000;
void solve(){
for(int i=1;i<=n;i++){
ans++;
for(int j=i-1;j;j--){
dp[i][a[i]-a[j]+p]+=dp[j][a[i]-a[j]+p]+1;
dp[i][a[i]-a[j]+p]%=mod;
ans+=dp[j][a[i]-a[j]+p]+1;
ans%=mod;
}
}
printf("%lld\n",ans);
}
signed main(){
cin>>n;
for(int i=1;i<=n;i++){
scanf("%lld",&a[i]);
}
solve();
return 0;
}
洛谷P4933大师+DP二维
最新推荐文章于 2024-05-23 11:51:48 发布