改了一下,还是不想,求hack
```cpp
#include<cstdio>
#include<algorithm>
#include<vector>
#include<map>
#define mkp make_pair
using namespace std;
map<vector<int>,int> a;
vector<int> v;
int n,m,ans,mp[114514];
vector<int > to(int a){
int tel[1140]={0},tot=0;
while(a){
tel[++tot]=a-2*(a>>1);
a>>=1;
}
vector<int > v;
int minn=0x7fffff;
for(int i=1;i<=tot;i++){
if(tel[i])mp[i]++;
v.push_back(mp[i]);
minn=min(mp[i],minn);
}
for(int i=0;i<tot;i++)v[i]-=minn;
return v;
}
signed main(){
scanf("%d%d",&n,&m);
v.resize(m);
a[v]=0;
for(int i=1;i<=n;i++){
int x=0;
scanf("%d",&x);
v=to(x);
// for(int i=0;i<m;i++)printf("%d ",v[i]);
// puts("");
if(a.count(v))ans=max(ans,i-a[v]);
else a[v]=i;
}
printf("%d",ans);
return 0;
}
```
by 黑影洞人 @ 2022-03-10 17:16:30
过了,要注意特判1的情况
by 黑影洞人 @ 2022-03-10 17:21:33