关于自己用看不懂代码,悬正无穷关
查看原帖
关于自己用看不懂代码,悬正无穷关
794188
furina_1013楼主2024/11/5 22:58

有没有神牛帮我看一下

大致思路就都是判断何时超速,在查找哪个测速器可以测到,对没有测到车辆超速的加速器清除

#include<bits/stdc++.h>
using namespace std;
int t,n,m,l,vv;
int d[100005],v[100005],a[100005];
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);

	cin>>t;
	for(int fufu=1;fufu<=t;fufu++)
	{
		cin>>n>>m>>l>>vv;
		int dl[100005]={0};
		int dl2[100005]={0};
		int ans=0;
		int bns=0;
		for(int i=1;i<=n;i++)cin>>d[i]>>v[i]>>a[i];
		for(int i=1;i<=m;i++)
		{
			int aabbcc;
			cin>>aabbcc;
			dl[aabbcc]++;
		}
		for(int i=1;i<=n;i++)
		{
			for(;;)
			{
				if(d[i]>=l || v[i]<=0)break;
				d[i]+=v[i];
				v[i]+=a[i];
				if(v[i]>vv)
				{
					ans++;
					int poss=lower_bound(dl+1,dl+m+1,d[i])-dl;
					dl2[poss-1]=1;
					break;
				}
			}
		}
		for(int i=1;i<=l;i++)
		{
			if(dl[i]!=0 && dl2[i]==0)bns++;
			//else if (dl[i]!=0)cout<<i<<" "<<"\n";
		}
		cout<<ans<<" "<<bns<<"\n";
	}
	return 0;
}
2024/11/5 22:58
加载中...