提交时间:2023-12-11 13:12:11
运行 ID: 115398
#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; }