#include<iostream>
#include<algorithm>
using namespace std;
bool cmpe(int a, int b)
{
return a > b;
}
int main()
{
int sum = 0, N, hei[20005],final;
cin >> N >> final;
for (int i = 0; i < N; i++)
{
cin >> hei[i];
}
sort(hei, hei + N - 1, cmpe);
int cnt = 0;
while (sum < final)
{
sum += hei[cnt];
cnt++;
}
cout << cnt << endl;
system("pause");
return 0;
}
以下是数据
100 61017
1070
549
954
546
435
1326
400
461
535
1394
1231
808
736
499
201
820
1199
999
544
1018
966
1291
973
1051
1016
371
650
783
1452
568
1502
1195
617
1517
986
1133
792
1009
340
959
918
955
1153
820
505
527
601
1482
1219
1194
369
874
1513
856
492
530
798
1424
339
205
1068
1001
549
674
477
760
1269
671
1322
422
554
535
1439
614
981
1034
1074
1449
998
1012
363
802
819
1437
858
1066
1470
284
282
375
1404
1118
1240
707
1310
546
1050
1107
1281
1524
以上是数据,答案是52
求解:)