Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
57471 | xyh | J3 | C++ | 解答错误 | 85 | 1 MS | 1044 KB | 383 | 2022-10-04 11:27:05 |
#include<bits/stdc++.h> using namespace std; const int M=998244353; int n,x,y,dp[100010]; int sum[100010]; int main(){ scanf("%d%d%d",&n,&x,&y); dp[0]=sum[0]=1; for(register int i=1;i<=x;i++){ dp[i]=sum[i/2]%M; if(i>n) dp[i]=(dp[i]-sum[i-n-1])%M; if(y>=(i+1)/2&&y<=i) dp[i]=(dp[i]-dp[i-y])%M; sum[i]=(sum[i-1]+dp[i])%M; } printf("%d",dp[x]); return 0; }