请大佬帮蒟蒻看一下
查看原帖
请大佬帮蒟蒻看一下
381641
Thunderbolt_General楼主2021/10/26 17:48
#include<bits/stdc++.h>
using namespace std;
long long n,m,sum,cnt,pam,m1,maxx;
struct sb{
	int ks,js,sy;
}a[100001];
struct node{
	int dd,lk,y;
}b[100001];
int sb(int x,int y)
{
	int tent=0,md=0,g=1,h=1,hop=0x7ffff,cap=0x7ffff,sm[100001]={0},ms[100001]={0};
	hop=a[g].js;
	a[1].sy=1;
	for(int i=2;i<=m;i++)
	{
		if(a[i].ks<hop&&g<x)
		{
			g++;
			hop=a[i].js;
			a[i].sy=1;
		}
		if(a[i].ks>=hop){
			hop=a[i].js;
			a[i].sy=1;
		}
    }
    cout<<endl;
	b[1].y=1;
	ms[cap]=a[h].js;
	for(int i=2;i<=m1;i++)
    {
		if(b[i].dd<cap&&h<y)
		{
		    h++;
		    cap=b[i].lk;
			b[i].y=1;
		}
		if(b[i].dd>=cap){
			cap=b[i].lk;
			b[i].y=1;
		}
	}
    for(int i=1;i<=m;i++)
    {
    	if(a[i].sy==1)
    	tent++;
	}
	for(int i=1;i<=m1;i++)
    {
    	if(b[i].y==1)
    	md++;
	}
	if(x==0)
	{
		tent=0;
	}
	if(y==0)
	{
		md=0;
	}
	return (tent+md);
}	
int main()
{
	scanf("%d%d%d",&n,&m,&m1);
	for(int i=1;i<=m;i++)
	{
		scanf("%d%d",&a[i].ks,&a[i].js);
	}
	for(int i=1;i<=m1;i++)
	{
		scanf("%d%d",&b[i].dd,&b[i].lk);
	}
	for(int i=0;i<=n;i++)
	{
		cnt=i;
		pam=n-i;
		maxx=sb(cnt,pam);
		sum=max(maxx,sum);
	}
	printf("%d",sum);
}
2021/10/26 17:48
加载中...