if(段位=="大佬")蒟蒻求助
#include<bits/stdc++.h>
using namespace std;
int T;
int a[2005];
int t[2005];
int b[2005];
int n;
bool flag=0;
bool ch(){
for(int i=1;i<=n;i++){
if(a[i]>b[i])return true;
}
return false;
}
bool ch2(){
for(int i=1;i<=n;i++){
if(a[i]!=b[i])return false;
}
return true;
}
void op1(){
int s=n;
for(int i=1;i<=n/2;i++,s--){
t[i]+=t[s];
t[s]+=t[i];
}
if(n%2==1)t[n/2+1]*=2;
return;
}
void op2(){
for(int i=1;i<=n;i++)a[i]+=t[i];
return;
}
void dfs(int dep){
if(flag==1){
return;
}
if(ch2()){
flag=1;
return;
}
op1();
if(ch())return;
dfs(dep+1);
op2();
dfs(dep+1);
}
int main(){
//freopen("in","r",stdin);
//freopen("out","w",stdout);
cin>>T;
while(T--){
cin>>n;
flag=0;
memset(a,0,sizeof(a));
for(int i=1;i<=n;i++){
cin>>t[i];
}
for(int i=1;i<=n;i++){
cin>>b[i];
}
dfs(1);
if(flag)cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}