题解 | #牛牛的数组匹配#
牛牛的数组匹配
https://www.nowcoder.com/practice/3d3406f4a7eb4346b025cc592be5b875
#include <iostream>
#include <cmath>
using namespace std;
int a1[100],b1[100],sum1=0,sum2=0;
// sum1 代表数组a的和
int sum(int i,int j)
{
int m=0;
for(int k=i;k<=j;k++)
{
m+=b1[k];
}
return m;
}
int main() {
int a, b;
cin>>a>>b;
for(int i=0;i<a;i++)
{
cin>>a1[i];
sum1+=a1[i];
}
for(int i=0;i<b;i++)
{
cin>>b1[i];
sum2+=b1[i];
}
int min = sum1+sum2;
int m1=0,n1=0;
//min代表b-a的最小值
for(int i=0;i<b;i++)
{
for(int j=0;j<b;j++)
{
int sum2=0;
sum2=sum(i,j);
if(abs(sum2-sum1)<min)
//我要的是素描sum2-sum1的绝对值最小。这个min如果初始化为sum2不一定大于sum2-sum1的绝对值。
{
min = abs(sum2-sum1);
m1 = i;
n1 = j;
}
}
}
for(int i=m1;i<=n1;i++)
{
cout<<b1[i]<<" ";
}
}
// 64 位输出请用 printf("%lld")
曼迪匹艾公司福利 124人发布
查看7道真题和解析