Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
114985 | 沈梓珺 | 零钱兑换 | C++ | 通过 | 100 | 0 MS | 296 KB | 415 | 2023-12-09 11:20:04 |
#include<bits/stdc++.h> using namespace std; int coin[100001],dp[10001]; int main(){ memset(dp,0x3f3f3f,sizeof(dp)); dp[0]=0; int n,amount; cin>>n>>amount; for(int i=1;i<=n;i++){ cin>>coin[i]; } for(int i=1;i<=n;i++){ for(int j=coin[i];j<=amount;j++){ if(coin[j]!=0x3f3f3f){ dp[j]=min(dp[j],dp[j-coin[i]]+1); } } } cout<<(dp[amount]>amount?-1:dp[amount]); return 0; }