help!!!
查看原帖
help!!!
1003102
Carl_T_C楼主2024/8/1 10:54
#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
2024/8/1 10:54
加载中...