#include <bits/stdc++.h>
using namespace std;
# define ll long long
vector<ll>v;
vector<ll>slm;
int main() {
ll n;
cin>>n;
ll x,y;
ll r=n;
while(r--){
cin>>x>>y;
v.push_back(x);
slm.push_back(y);
}
ll tab[n];
tab[0]=1;
ll t[n];
t[0]=1;
for(ll so=1;so<n;so++){
t[so]=1;
tab[so]=1;
if(v[so]==1 or v[so]==0){
if(so>=2){
if(slm[so-2]<=1){
t[so]=tab[so-2]+1;}
}
}
if(v[so]==0){
if(slm[so-1]==0){
t[so]=max(t[so],tab[so-1]+1);}
}
if(so>=3){
t[so]=max(t[so],tab[so-3]+1);}
tab[so]=max(tab[so-1],t[so]);
}
sort(t,t+n);
cout<<t[n-1]<<endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |