比赛 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;
}