蒟蒻求救
  • 板块学术版
  • 楼主qin_chink
  • 当前回复9
  • 已保存回复10
  • 发布时间2024/10/6 09:31
  • 上次更新2024/10/6 10:47:53
查看原帖
蒟蒻求救
537782
qin_chink楼主2024/10/6 09:31

求教,为什么编译失败
本地编译没有问题,样例也过了

#include<bits/stdc++.h>
using namespace std;
struct plane{
	int a,l,n;
};
struct plane1{
	int a,l;
}p1[100010];
struct plane2{
	int a,l;
}p2[100010];
struct cmp
{
    operator()(plane x,plane y)
    {return x.n<y.n;}
};
bool cp1(plane1 a,plane1 b)
{
	return a.a<b.a;
}
bool cp2(plane2 a,plane2 b)
{
	return a.a<b.a;
}
int b1[100010],b2[100010],ln;
priority_queue<plane,vector<plane>,cmp>q1;
priority_queue<plane,vector<plane>,cmp>q2;
int main()
{
	int n,m1,m2;
	cin>>n>>m1>>m2;
	for(int i=1;i<=m1;i++)
	{
		cin>>p1[i].a>>p1[i].l;
	}
	for(int i=1;i<=m2;i++)
	{
		cin>>p2[i].a>>p2[i].l;
	}
	sort(p1+1,p1+m1+1,cp1);
	sort(p2+1,p2+m2+1,cp2);
	ln=0;
	for(int i=1;i<=m1;i++)
	{
		plane p;
		p.a=p1[i].a;
		p.l=p1[i].l;
		vector<plane>v;
		while(q1.size()>0)
		{
			plane t=q1.top();
			if(p.a>t.l)
			{
				p.n=t.n;
				b1[p.n]++;
				q1.pop();
				q1.push(p);
				break;
			}
			else
			{
				v.push_back(t);
				q1.pop();
			}
		}
		if(q1.size()==0)
		{
			ln++;
			p.n=ln;
			b1[p.n]++;
			q1.push(p);
		}
		for(int j=0;j<v.size();j++)
		{
			q1.push(v[j]);
		}
	}
	ln=0;
	for(int i=1;i<=m2;i++)
	{
		plane p;
		p.a=p2[i].a;
		p.l=p2[i].l;
		vector<plane>v;
		while(q2.size()>0)
		{
			plane t=q2.top();
			if(p.a>t.l)
			{
				p.n=t.n;
				b2[p.n]++;
				q2.pop();
				q2.push(p);
				break;
			}
			else
			{
				v.push_back(t);
				q2.pop();
			}
		}
		if(q2.size()==0)
		{
			ln++;
			p.n=ln;
			b2[p.n]++;
			q2.push(p);
		}
		for(int j=0;j<v.size();j++)
		{
			q2.push(v[j]);
		}
	}
	for(int i=2;i<=n;i++)
	{
		b1[i]+=b1[i-1];
		b2[i]+=b2[i-1];
	}
	int as=0;
	for(int i=0;i<=n;i++)
	{
		int j=n-i;
		as=max(as,b1[i]+b2[j]);
	}
	cout<<as;
	return 0;
}
2024/10/6 09:31
加载中...