求条Wa on#1
查看原帖
求条Wa on#1
716099
lovely_hyzhuo楼主2024/4/5 23:11
#include<bits/stdc++.h>
#define int long long
using namespace std;
struct node
{
	int op,t,flag=0;
}a[1000010];
int n,m=8;
bool cmp(node a,node b)
{
	return a.t>b.t;
}
void solve()
{
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>a[i].op;
	int man=-1;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].t;
		if(a[i].op==3)
			man=max(man,a[i].t);
	}
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=n;i++)
		if(a[i].op==3&&a[i].t==man)
		{
			a[i].flag=1;
			break;
		}
	int num=0;
	for(int i=1;i<=8;i++)
	{
		int x;
		cin>>x;
		num+=x; 
	}
	if(man==-1)
	{
		cout<<"No\n";
		return ;
	}
	int sum=man;
	int t2=0,t3=1,cnt=1;
	for(int i=1;i<=n;i++)
	{
		if(a[i].flag==1||(a[i].op==2&&t2==1)||(a[i].op==3&&t3==3))
			continue;
		if(cnt==8)
			break;
		if(a[i].op==2)
			t2++;
		if(a[i].op==3)
			t3++;
		sum+=a[i].t;
		a[i].flag=1;
		cnt++;
	}
//	for(int i=1;i<=n;i++)
//		if(a[i].flag==1)
//		{
//			cout<<a[i].op<<" "<<a[i].t<<endl;
//		}
	double cnt1=sum/8,cnt2=num/8;
//	cout<<sum<<" "<<num<<endl;
	if(cnt1>=cnt2-2)
		cout<<"Yes\n";
	else
		cout<<"No\n";
}
signed main()
{
	int t;
	cin>>t;
	while(t--)
		solve();
	return 0;
}
2024/4/5 23:11
加载中...