Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
115398 | 勾勾 | 零钱兑换 | C++ | 解答错误 | 0 | 0 MS | 180 KB | 577 | 2023-12-11 13:12:11 |
#include <cstdio> #include <algorithm> using namespace std; const int N=2000002; long long m,n,a[N],ans,now,x; long long read() { char x=getchar(); while(x<48||x>57) x=getchar(); long long ans=0; while(x>=48&&x<=57) { ans=(ans<<1)+(ans<<3)+(x^48); x=getchar(); } return ans; } int main() { n=read();m=read(); for(int i=1;i<=n;i++) a[i]=read(); sort(a+1,a+n+1); if(a[1]!=1) { printf("No answer!!!\n");return 0;} ans=now=1;x=1; while(now<m) { while(a[x]<=now+1&&x<=n) x++; x--;ans++;now+=a[x]; } printf("%lld\n",ans); return 0; }