re 求助,估计是bitset的事情 QMQ QAQ
#include<bits/stdc++.h>
#define ll long long
#define F(i,a,b) for(ll i=a;i<=b;i++)
#define R(i,a,b) for(ll i=a;i>=b;i--)
#define sc(a) scanf("%lld",&a)
#define ps(a) printf("%lld ",a)
#define pn(a) printf("%lld\n",a)
using namespace std;
const ll N=1e5+7;
ll n,a[N],f[N],ans;
bitset<100> c[N],d;
int main(){
sc(n);
F(i,1,n) sc(a[i]),c[i]=a[i];
ll cnt=0;
F(i,1,n){
for(ll j=1;j<=i-1;i++){
d=c[i]&c[j];
if(d.any()){
f[i]=max(f[i],f[j]+1);
}
}
ans=max(ans,f[i]);
}
pn(ans);
return 0;
}