A - Gamer H
题意
给定h,表示剩余血量,n个数ai,表示每把武器可以减少的血量。规定不能连续使用同一把武器,问最少几次可以使h<=0.
题解
贪心对数组降序排序,得到最大的数s,第二大的数k.首先hs+k,就h%(s+k),h就小于s+k.最后再加上2*h/(k+s)次
#include#include using namespace std; int main() { int t; cin>>t; while(t--) { long long n,h,s,a[100005],d,num=0,k=0; cin>>n>>h; for(int i=0;i >a[i]; sort(a,a+n,greater ()); s=a[0]; d=a[1]; k=2*(h/(s+d)); h=h%(s+d); if(h>0) k++; h-=s; if(h>0) k++; h-=d; cout<



