#include<iostream>
#include<string.h>
#include <algorithm>
#include<map>
#include<set>
#include<deque>
#include <queue>
#include<vector>
#include<math.h>
typedef long long LL;
using namespace std;
const int N = 1e4 + 10;
deque<int>dq;
deque<int>t;
void toget(LL n) {
int c = 0;
for (LL i = n; i > 0; i = i / 2) {
int tv = 0;
if (dq.size() > 0) {
tv=dq.back();
dq.pop_back();
}
c+= i%2;
tv += c;
c = tv / 2;
tv = tv % 2;
t.push_front(tv);
}
if(c!=0) t.push_front(c);
while (t.size()) {
dq.push_back(t.front());
t.pop_front();
}
}
int main() {
int T;
cin >> T;
while (T--) {
int n;
cin >> n;
dq.push_back(0);
for (int i = 0; i < n; i++) {
int a;
cin >> a;
if (a == 1) {
dq.push_back(0);
}
else {
cin >> a;
toget(a);
}
}
int flag=0;
while (dq.size()) {
int t =dq.front();
dq.pop_front();
if(t!=0)flag=1;
if(flag==1)cout<<t;
}
if(flag==0)cout<<0;
cout << endl;
}
return 0;
}
不理解为什么过不了,大佬帮帮我