Wrong Answer. wrong answer Too short on line 1. 本地测样例全过,但交上去就全WA了,显示如上,求大佬帮忙解释下>_<.
#include<bits/stdc++.h>
using namespace std;
struct pl
{
int e,s;
}cp[100005],wp[100005];
int tans=0,ans=0;
int n,m1,m2;
int vis[100005];
bool cmp(pl a,pl b)
{
return a.e<b.e;
}
int main()
{
freopen("airport.in","r",stdin);
freopen("airport.out","w",stdout);
scanf("%d %d %d",&n,&m1,&m2);
int min1=1000005,max1=-1;
for(int i=1;i<=m1;i++)
{
scanf("%d %d",&cp[i].e,&cp[i].s);
min1=min(min1,cp[i].e);
max1=max(max1,cp[i].s);
}
int min2=1000005,max2=-1;
for(int i=1;i<=m2;i++)
{
scanf("%d %d",&wp[i].e,&wp[i].s);
min2=min(min2,wp[i].e);
max2=max(max2,wp[i].s);
}
sort(cp,cp+1+m1,cmp);
sort(wp,wp+1+m2,cmp);
int tw;
for(int i=0;i<=n;i++)
{
tans=0;
tw=i;
memset(vis,0,sizeof(vis));
if(tw!=0)
{
for(int j=min1;j<=max1;j++)
{
for(int k=1;k<=m1;k++)
{
if(cp[k].s==j&&vis[k]!=1)
{
tw++;
}
if(cp[k].e==j&&tw>0)
{
tans++;
tw--;
}else if(cp[k].e==j)
{
vis[k]=1;
}
}
}
}
tw=n-i;
memset(vis,0,sizeof(vis));
if(tw!=0)
{
for(int j=min2;j<=max2;j++)
{
for(int k=1;k<=m2;k++)
{
if(wp[k].s==j&&vis[k]!=1)
{
tw++;
}
if(wp[k].e==j&&tw>0)
{
tans++;
tw--;
}else if(wp[k].e==j)
{
vis[k]=1;
}
}
}
}
ans=max(ans,tans);
}
cout<<ans;
return 0;
}