subtask RE怎么解决啊啊
查看原帖
subtask RE怎么解决啊啊
1060364
zhnm楼主2024/5/14 16:37

有大佬看看吗。

#include <stdio.h>
#include <string.h>
const int N = 1e7 + 100;
int dp[N], a[15], b[15];
int max(int a,int b)
{
	return a>b?a:b;
}
int main()
{
	memset(dp,0,sizeof(dp));
	
    int n, s, d;
    scanf("%d %d %d",&s,&n,&d);
    for (int i = 1; i <= d; i++)
    	scanf("%d %d",&a[i],&b[i]);
	for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= d; j++) 
        {
            for (int k = a[j]; k <= s; k+=1000)
            {
        
                dp[k] = max(dp[k], dp[k - a[j]] + b[j]); 
        
            }    
           
        }
        s += dp[s/1000*1000];
    }
    printf("%d",s);
    return 0;
}
2024/5/14 16:37
加载中...