题目大意:给出一堆武器伤害,特工不能连续使用同一种武器,请问特工至少需要几步把敌人击杀
思路:贪心一下,只需在前两个最高伤害的武器间反复切换攻击就行,所以只需考虑反复切换几次才能击杀敌人,但注意考虑特殊情况,不要有遗漏。
Code:
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 2010;
typedef long long LL;
LL a[N];
void solve()
{
LL n,x;
cin>>n>>x;
for(int i=0;i<n;i++) cin>>a[i];
sort(a,a+n);
int temp=x%(a[n-1]+a[n-2]);
if(!temp) cout<<x/(a[n-1]+a[n-2])*2<<endl;
else if(temp<=a[n-1]) cout<<x/(a[n-1]+a[n-2])*2+1<<endl;
else if(temp>a[n-1]) cout<<x/(a[n-1]+a[n-2])*2+2<<endl;
}
int main()
{
int _;
scanf("%d",&_);
for(int i=0;i<_;i++) solve();
return 0;
}