社区讨论

关于自己用看不懂代码,悬正无穷关

P11232[CSP-S 2024] 超速检测参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@m34kude8
此快照首次捕获于
2024/11/05 23:00
去年
此快照最后确认于
2025/11/04 15:15
4 个月前
查看原帖
有没有神牛帮我看一下
大致思路就都是判断何时超速,在查找哪个测速器可以测到,对没有测到车辆超速的加速器清除
CPP
#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;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...