#I. The Humanoid(人形生物)
##[原题传送通道](https://codeforces.com/group/L9GOcnr1dm/contest/418722/problem/I)
##思路:
1.将各个宇航员a[i]从小到大sort排序,减小Humanoid进食障碍
2.green=2,blue=1,创建b[3]={2,2,3}(注意,b中元素要从小到大排好队)
3.唯一影响答案ans不同的是Humanoid进食过程中对药丸的使用顺序,因此用next_permutation(b,b+3)对b中的元素进行排列组合A33次
4.对于b的每一种组合情况,药丸的使用原则是if(hh<a[i]&&j<3) hh*=b[j];j++;(hh(long long)是h的安全替身,鉴于h数据每次行动都要使用,让hh来作炮灰)
```
{
//
// Created by LION on 2023/1/6.
//
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t,h,n,i,j;scanf("%d",&t);
while(t--){
scanf("%d %d",&n,&h);
vector<int>b{2,2,3};
vector<long long>a(n);
for(i=0;i<n;i++){
scanf("%lld",&a[i]);
}sort(a.begin(),a.end());
int ans=0;
do
{
long long hh=h;
int mark=0;
for(i=0,j=0;i<n;){
if(hh>a[i]) hh+=a[i++]/2;
else if(j<3) hh*=b[j++];
else break;
mark=i;
}
ans=max(ans,mark);
}while(next_permutation(b.begin(),b.end()));
printf("%d\n",ans);
}
return 0;
}
}
```
标签:冬令营,int,scanf,2023,codeforces,Humanoid,hh,ans,mark From: https://www.cnblogs.com/tfb11thLion/p/17032665.html