P2214 100分unaccepted求助!!!
  • 板块题目总版
  • 楼主jessie2011
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/4/16 09:32
  • 上次更新2023/10/23 18:20:00
查看原帖
P2214 100分unaccepted求助!!!
915065
jessie2011楼主2023/4/16 09:32

话说,这不是已经100分了吗?
Subtask #1 #12 Re,#14 Wa
各位Dalao看一下吧,求求了!
这里是代码:

#include<cstdio>
#include<algorithm>
using namespace std;
const int INF=1e9;
int n,B,maxx=-1,ans=0;
int v[25],a[105],b[105],dp[100005];
int main()
{
    scanf("%d%d",&n,&B);
    for(int i=1;i<=B;i++)
        scanf("%d",&v[i]);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    for(int i=1;i<=n;i++)
    {
        b[i]=a[i]-max(a[i-1]-1,0);
        maxx=max(maxx,b[i]);
    }
    for(int i=1;i<=maxx;i++)
        dp[i]=INF;
    for(int i=1;i<=B;i++)
        for(int j=v[i];j<=maxx;j++)
            if(dp[j-v[i]]!=INF)
                dp[j]=min(dp[j],dp[j-v[i]]+1);
    for(int i=1;i<=n;i++)
    {
        if(dp[b[i]]==INF)
        {
            printf("-1");
            return 0;
        }
        ans+=dp[b[i]];
    }
    printf("%d",ans);
    return 0;
}

栓q

2023/4/16 09:32
加载中...