#include<iostream>
#include<cmath>
using namespace std;
int t,n,a[110],b[110],dp[110]={0x3f};
int square(int n){
if(n<0)n=-n;
if(n==0)return 0;
int x=n>>1;
return(n&1)?((square(x)<<2)+(x<<2)+1):(square(x) << 2);
}
int su(int s[],int d[]){
int ans=0;
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
ans+=square(a[i]+a[j]);
ans+=square(b[i]+b[j]);
}
}
return ans;
}
int main(){
ios_base::sync_with_stdio(0);
cin>>t;
while(t--){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
cin>>b[i];
}
dp[0]=su(a,b);
for(int i=1;i<=n;i++){
swap(a[i],b[i]);
dp[i]=min(dp[i-1],su(a,b));
if(dp[i]==dp[i-1])swap(a[i],b[i]);
}
// for(int i=1;i<=n;i++){
// cout<<a[i]<<" "<<b[i]<<endl;
// }
cout<<dp[n]<<endl;
}
return 0;
}
help!样例全过,测试数据返回
wrong answer 1st numbers differ - expected: '10548181', found: '10548401'
1
98
26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
98 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25