P7913 95分WA第一个点求助
  • 板块题目总版
  • 楼主_lbh_
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/1/29 19:58
  • 上次更新2023/10/24 02:39:17
查看原帖
P7913 95分WA第一个点求助
820057
_lbh_楼主2023/1/29 19:58
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+4;
int n, m1, m2, ed1[N], ed2[N], sum1[N], sum2[N];
struct node{
	int a, b;
}a[N], b[N];
bool cmp(node x, node y)
{
	return x.a<y.a;
}
int main()
{
	cin>>n>>m1>>m2;
	for(int i=1; i<=m1; i++)
	{
		cin>>a[i].a>>a[i].b;
	}
	for(int i=1; i<=m2; i++)
	{
		cin>>b[i].a>>b[i].b;
	}
	sort(a+1, a+m1+1, cmp);
	sort(b+1, b+m2+1, cmp);
	for(int i=1; i<=m1; i++)
	{
		for(int j=1; j<=n; j++)
		{
			if(ed1[j]<a[i].a)
			{
				ed1[j]=a[i].b;
				sum1[j]++;
				break;
			}
		}
	}
	for(int i=1; i<=m2; i++)
	{
		for(int j=1; j<=n; j++)
		{
			if(ed2[j]<b[i].a)
			{
				ed2[j]=b[i].b;
				sum2[j]++;
				break;
			}
		}
	}
	for(int i=1; i<=n; i++)
	{
		sum1[i]+=sum1[i-1];
		sum2[i]+=sum2[i-1];
	}
	int maxi=-1e9;
	for(int i=1; i<=n; i++)
	{
		maxi=max(maxi, sum1[i]+sum2[n-i]);
	}
	cout<<maxi;
	return 0;
}

2023/1/29 19:58
加载中...