为什么会WA啊啊啊啊,前两组数据n=2,我都WA了,手测感觉没问题啊
// Problem: E - Bad Juice
// Contest: AtCoder - Toyota Programming Contest 2024#1(AtCoder Beginner Contest 337)
// URL: https://atcoder.jp/contests/abc337/tasks/abc337_e
// Memory Limit: 1024 MB
// Time Limit: 2000 ms
#include<bits/stdc++.h>
using namespace std;
int n,m;
vector <int> frd[10000];
int hibit(int x){
int ret=1,t=x & (-x);
while(x!=t){
x-=t;
t=x & (-x);
}
for(int i=1;;i<<=1){
if(i==x)return ret;
ret++;
}
}
int lowbits(int x){
return x & (-x);
}
int lowbit(int x){
int t = x & (-x);
if(t==1)return 1;
for(int i=1;;i++)
if((t>>i)==0)return i;
}
int main(){
cin>>n;
m=hibit(n);
cout<<m<<endl;
for(int i=1;i<=n;i++){
int t=i;
while(t){
frd[lowbit(t)].push_back(i);
t-=lowbits(t);
}
}
for(int i=1;i<=m;i++){
cout<<frd[i].size()<<" ";
int l=frd[i].size();
for(int j=0;j<l;j++)
cout<<frd[i][j]<<" ";
cout<<endl;
}
string s;cin>>s;
int ans=0;
for(int i=0;i<m;i++)
if(s[i]=='1')
ans+=(1<<i);
cout<<ans<<endl;
return 0;
}