//#define local
#include<cstdio>
#include<iostream>
#include<vector>
#define MAXN 1005
#define MAXD 20000
#define MOD 998244353
using namespace std;
typedef long long ll;
ll dp[MAXN][2*MAXD+1]={0};
vector<int>h;
int n;
int main(){
#ifdef local
freopen("data.in","rb",stdin);
//freopen("data.out","wb",stdout);
#endif
scanf("%d",&n);
int t;
for(int i=0;i<n;++i){
scanf("%d",&t);
h.push_back(t);
}
ll ans=n;
for(int i=1;i<n;++i){
for(int j=0;j<i;++j){
int d=h[i]-h[j]+MAXD;
dp[i][d]=(dp[i][d]+dp[j][d]+1)%MOD;
ans=(ans+dp[j][d]+1)%MOD;
}
}
cout<<ans;
return 0;
}
//ans=(ans+dp[j][d]+1)%MOD
P4933 大师
最新推荐文章于 2025-04-13 21:58:14 发布