怎么将下面这段代码的运行时间缩短到一秒以内?


#include <iostream>
#include <algorithm>
using namespace std;
int t,n,H,a[1001],time;
int main()
{
    cin>>t;
    for (int i=1;i<=t;++i){
        cin>>n>>H;
        for (int j=1;j<=n;j++)
            cin>>a[j];
        sort (a,a+n);
        int sum=0;
        time=0;
        for (int j=0;sum<H;++j){
            sum+=a[n];
            ++time;
            if (sum<H){
                sum+=a[n-1];
                ++time;
            }
        }
        cout<<time<<endl;
    }
    return 0;
}