题解 | #牛牛的数组匹配#
牛牛的数组匹配
https://www.nowcoder.com/practice/3d3406f4a7eb4346b025cc592be5b875
#include <cmath>
#include <iostream>
using namespace std;
int main() {
int m=0,n=0,t=0;
cin>>n>>m;
int a=0,b[m];
int re[2][m];
for(int i=0;i<n;i++)
{
cin>>t;
a=a+t;
}
for(int i=0;i<m;i++)
cin>>b[i];
for(int l=0;l<m;l++)
{
int min=abs(b[l]-a),tmp=0,flag=0;
for(int r=l;r<m;r++)
{
tmp=tmp+b[r];
if(abs(tmp-a)<=min)
{
min=abs(tmp-a);
}
else {
re[0][l]=r-1;
re[1][l]=min;
flag=1;
break;
}
}
if(flag==0)
{
re[0][l]=m-1;
re[1][l]=min;
}
}
int minx=0;
for(int i=0;i<m;i++)
{
if(re[1][i]<re[1][minx])
{
minx=i;
}
}
for(int i=minx;i<=re[0][minx];i++)
{
cout<<b[i]<<' ';
}
}
// 64 位输出请用 printf("%lld")
#2022届毕业生现状#
查看10道真题和解析