题目链接传送门
打开这道题的时候
感觉就是求一个区间里
最长连续的数字
1
1
1
和最长连续的数字
0
0
0
模拟一下就
O
K
OK
OK了
#include<iostream>
#include<cstdio>
using namespace std;
int n,time1,time2,boss1=101010101,boss2,yes,no;
int ans1,ans2,c1,c2;
int a[1111000];
int main()
{
cin>>n;
for(int i=1; i<=n; i++)
{
cin>>time1>>time2;
if(time1<boss1) //找出这段区间
boss1=time1;
if(time2>boss2)
boss2=time2;
for(int j=time1; j<time2; j++) //有时间放1
a[j]=1;
}
for(int i=boss1; i<=boss2; i++)
{
if(a[i]==0) //判断是0还是1
{
if(c1>ans1) //取最大值
ans1=c1;
c1=0;
c2++;
}
if(a[i]==1) //同上
{
if(c2>ans2)
ans2=c2;
c2=0;
c1++;
}
}
cout<<ans1<<" "<<ans2;
return 0;
}