首页 > 其他 > 详细

H-coins

时间:2016-08-11 17:22:24      阅读:142      评论:0      收藏:0      [点我收藏+]

最开始超时,因为输入函数,所以改成了scanf这些,然后数组太大,还是超时,之后太小了程序崩溃,改完这些一直wa,然后我就没办法了

无奈脸

#include <stdio.h>  
#include <algorithm>  
#include <string.h>  
  
int dp[100005];  
int sum[100005];  
int v[105],c[105];  
  
int main()  
{  
    int i,j,k,n,m;  
    while(~scanf("%d%d",&n,&m),n+m)  
    {  
        for(i = 1;i<=n;i++)  
        scanf("%d",&v[i]);  
        for(i = 1;i<=n;i++)  
        scanf("%d",&c[i]);  
        memset(dp,0,sizeof(dp));  
        dp[0] = 1;  
        int ans = 0;  
        for(i=1;i<=n;i++)  
        {  
            memset(sum,0,sizeof(sum));  
            for(j = v[i];j<=m;j++)  
            {  
                if(!dp[j] && dp[j-v[i]] && sum[j-v[i]]<c[i])  
                {  
                    dp[j] = 1;  
                    sum[j] = sum[j-v[i]]+1;  
                    ans++;  
                }  
            }  
        }  
        printf("%d\n",ans);  
    }  
  
    return 0;  
} 

  

H-coins

原文:http://www.cnblogs.com/yintoki/p/5761517.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!