比赛 2024暑假C班集训9 评测结果 AAAAWWAAWW
题目名称 天才魔法少女琪露诺爱计数 最终得分 60
用户昵称 小金 运行时间 0.832 s
代码语言 C++ 内存使用 3.06 MiB
提交时间 2024-07-09 11:53:02
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
const long long mod=998244353;
int n,l,r,t,h[20010];
long long d[20010],s[20010];
int main()
{
    freopen("cirnoisclever.in","r",stdin);
    freopen("cirnoisclever.out","w",stdout);
    scanf("%d%d%d%d",&n,&l,&r,&t);
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&h[i]);
    }
    if(t==0)
    {
        if(h[1]!=h[n])
        {
            printf("0");
        }
        else
        {
            d[1]=1;
            s[1]=1;
            for(int i=2;i<=n;i++)
            {
                if(h[i]==h[1])
                {
                    int q=max(i-r,1);
                    int z=max(i-l,1);
                    d[i]=(d[i]+s[z]-s[q-1])%mod;
                    s[i]=(d[i]+s[i-1])%mod;
                }
                else
                {
                    s[i]=s[i-1];
                }
            }
            printf("%lld",d[n]);
        }
    }
    else
    {
        d[1]=1;
        for(int i=1;i<=n;i++)
        {
        
            for(int j=l;j<=r;j++)
            {
                if(i+j<=n&&abs(h[i]-h[i+j])<=t)
                {
                   d[i+j]=(d[i+j]+d[i])%mod;
                }
            }
        }
        printf("%lld",d[n]);
    }
    return 0;
}