WA ON TEST3 ,请大佬看看
查看原帖
WA ON TEST3 ,请大佬看看
643056
YangChenhang楼主2022/12/29 09:56
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=2e5+5;
ll a[N];
int b[6]={2,3,4,6,12};
int c[6]={1,0,2,1,2};
int d[6]={0,1,0,1,1};
int main()
{
	int T;
	ll n,h;
	cin>>T;
	while(T--){
		cin>>n>>h;
		for(int i=1;i<=n;++i) cin>>a[i];
		sort(a+1,a+n+1);
		int beg=0;
		for(int i=1;i<=n;++i){
			if(a[i]!=1){
				beg=i;
				break;
			}
		}
		int two=2,three=1;
		int ans=0;
		for(int i=beg;i<=n;++i){
			if(a[i]>=h){
				for(int j=0;j<5;++j){
					if(h*b[j]>a[i] && two>=c[j] && three>=d[j]){
						two-=c[j];
						three-=d[j];
						h=h*b[j];
						break;
					}
				}
				if(a[i]<h) ans++,h+=a[i]/2;
				else{
					break;
				}
			}
			else{
				ans++,h+=a[i]/2;
			}
		}
		cout<<ans+beg-1<<"\n";
	}
	return 0;
}
2022/12/29 09:56
加载中...