题目大意:
给你n把武器,和敌人的血量,每把武器都有固定的杀伤力,不能连续使用同一把,问你至少使用武器的次数,杀死敌人,排序找到最强的两把武器,然后直接除就行,注意他的余数就可,水过去了。
#include<iostream>
#include<algorithm>
using namespace std;
int a[10000];
int main()
{
int t;
cin >> t;
while (t--) {
int n, k;
cin >> n >> k;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
sort(a, a + n);
int ans = 0;
int sum = a[n - 1] + a[n - 2];
ans = k / sum;
if (ans == 0) {
if (a[n - 1] >= k) {
cout << 1 << "\n"; continue;
}
cout << 2 << "\n";
}
else {
int mod = k % sum;
if (mod == 0) {
cout << ans * 2 << "\n";
}
else {
if (mod > a[n - 1]) {
cout << ans*2 + 2 << "\n";
}
else {
cout << ans* 2 + 1 << "\n";
}
}
}
}
}