比赛 |
2024暑假C班集训9 |
评测结果 |
RRRRRRTTTT |
题目名称 |
天才魔法少女琪露诺爱计数 |
最终得分 |
0 |
用户昵称 |
flyfree |
运行时间 |
2.713 s |
代码语言 |
C++ |
内存使用 |
6.19 MiB |
提交时间 |
2024-07-09 11:49:59 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mod (ll )998244353
#define MAXN 200010
ll n,l,r,t;
ll s[MAXN],dp[MAXN],h[MAXN];
int main(){
freopen("cirnoisclever.in","r",stdin);
freopen("cirnoisclever.out","W",stdout);
cin>>n>>l>>r>>t;
for(int i=1;i<=n;i++){
cin>>h[i];
}
if(t==0){
if(h[1]!=h[n]){
cout<<"0";
return 0;
}
s[1]=1;
for(int i=2;i<=n;i++){
s[i]=s[i-1];
if(h[i]==h[n]){
s[i]=(s[i]+s[max((ll)0,i-l)]-s[max((ll)0,i-r-1)])%mod;
}
}
cout<<(s[n]+mod-s[n-1])%mod;
}else{
dp[1]=1;
for(int i=2;i<=n;i++){
// cout<<i<<" ";
for(int j=max((ll)1,i-r);j<=max((ll)1,i-l);j++){
if(abs(h[i]-h[j])<=t){
// cout<<j<<" ";
dp[i]=(dp[i]+dp[j])%mod;
}
}
// cout<<endl;
}
cout<<dp[n]%mod;
}
return 0;
}