求助大佬
查看原帖
求助大佬
819146
xyyyhtl楼主2024/1/17 22:31

代码开了 O2O_2 能过,不开只有5分。求大佬帮忙看看。

#include <iostream>
#include <cstring>
using namespace std;
#define MAXN 5005
#define mod 10086001
typedef long long ll;
ll n,k,s[MAXN],f[MAXN],sum,ans,pre[MAXN];
int main() {
	scanf("%lld%lld",&n,&k);
	for (int i=1;i<=k;i++) {
		scanf("%lld",&s[i]);
		sum+=s[i];
	}
	f[0]=1,pre[0]=1;
	if (sum<n) {
		printf("impossible");
		return 0;
	}
	for (int i=1;i<=k;i++) {
		for (int j=1;j<=n;j++) pre[j]=(pre[j-1]+f[j]);
		for (ll j=n;j>=1;j--) {
			f[j]=(f[j]+pre[j-1]-pre[j-min(s[i],j)-1])%mod;
			f[j]%=mod;
		}
		ans=(ans+f[n])%mod;
	}
	printf("%lld",ans);
	return 0;
} 
2024/1/17 22:31
加载中...