为什么只有36分
查看原帖
为什么只有36分
240887
iostreamy楼主2022/8/28 17:55
#include<iostream>
#include<algorithm>
using namespace std;
int dp[10050],n,m,s,t,a[10050];
int main()
{
	int i,j;
	cin>>n>>s>>t>>m;
	for(i=1;i<=m;i++) //dp[i]=min(dp[j]+(i==a[st]));
	{
		cin>>a[i];
		if(a[i]==0) dp[0]=1;
	}
	sort(a+1,a+1+m);
	for(i=s;i<n+t;i++)
	{
		int tmp=0;
		for(j=1;j<=m;j++)
			if(a[j]==i) 
			{
				tmp=1;
				break;
			}
		dp[i]=0x7fffff;	
		for(j=s;j<=t;j++)
			if(i-j>=0)
				dp[i]=min(dp[i],dp[i-j]+tmp);
	}
	int ans=0x7fffff;
	for(i=n;i<n+t;i++) ans=min(ans,dp[i]);
	cout<<ans;
	return 0;
}
2022/8/28 17:55
加载中...