第5个点要打表
by rxzfn @ 2017-09-24 21:40:54
```cpp
#include<bits/stdc++.h>
using namespace std;
int shi[1000008];
int n,beg,en,max1=0,max2=0;
int main()
{
int a,b,i,j;
memset(shi,0,sizeof(shi));
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a>>b;
for(;a<b;a++)
shi[a]=1;
}
for(i=0;i<=1000000;i++)//注意!!非负整数,包含0,下标从0开始
{
if(shi[i]==1)
{
beg=i;
break;
}
}
for(i=1000000;i>=1;i--)
{
if(shi[i]==1)
{
en=i+1;
break;
}
}
for(i=beg;i<=en;i++)
{
if(shi[beg]==1)
{
for(j=beg;j<=en;j++)
{
if(shi[j]==0)
{
max1=max(max1,j-beg);
i=j;
beg=j;
break;
}
}
}
if(shi[beg]==0)
{
for(j=beg;j<=en;j++)
{
if(shi[j]==1)
{
max2=max(max2,j-beg);
i=j;
beg=i;
break;
}
}
}
}
cout<<max1<<" "<<max2<<endl;
return 0;
}
```
by rxzfn @ 2017-09-24 21:54:04