此题很水,sort一遍即可。千万别忘记开long long
注意n,m不要读入反,博主就咕在了这里,Time Limit Exceeded 10 / 10
#pragma GCC optimize(3)
#include<bits/stdc++.h>
#define For(i, j, k) for(int i=(j);i<=(k);i++)
#define INF (2147483647>>1)
#define Pair pair<int,int>
#define ll long long
using namespace std;
inline ll read()
{
ll num=0,flag=1;
char c=' ';
for(;c>'9'||c<'0';c=getchar()) if(c=='-') flag=0;
for(;c>='0'&&c<='9';num=(num<<1)+(num<<3)+c-48,c=getchar());
return flag?num:-num;
}
#define N 1000005
ll a[N];
int main()
{
ll n = read(), m = read();
For(i, 1, n) a[i] = read();
sort(a + 1, a + 1 + n);
ll ans = 0, sum = 0;
For(i, 1, n) {
if(sum + a[i] > m) {
cout << ans << endl;;
return 0;
}
ans++;
sum += a[i];
}
cout << ans << endl;
return 0;
}