#include <bits/stdc++.h>
using namespace std;
long long siz[100100],dir[100100],mx0[100100],mx1[100100];
int main()
{
long long n,i,ans;
while(cin>>n)
{
for(i=1;i<=n;i++)
{
scanf("%lld%lld",&siz[i],&dir[i]);
}
mx1[0]=-1;
for(i=1;i<=n;i++)
{
if(dir[i]==1)
mx1[i]=max(mx1[i-1],siz[i]);
else
{
if(siz[i]>mx1[i-1])
mx1[i]=-1;
else
mx1[i]=mx1[i-1];
}
}
mx0[n+1]=-1;
for(i=n;i>=1;i--)
{
if(dir[i]==0)
mx0[i]=max(mx0[i+1],siz[i]);
else
{
if(siz[i]>mx0[i+1])
mx0[i]=-1;
else
mx0[i]=mx0[i+1];
}
}
ans=n;
for(i=1;i<=n;i++)
{
if(dir[i])
{
if(mx0[i+1]>siz[i])
ans--;
}
else
{
if(mx1[i-1]>siz[i])
ans--;
}
}
printf("%lld\n",ans);
}
}
51nod 1289 大鱼吃小鱼
最新推荐文章于 2020-06-26 22:03:42 发布