题解 | #牛牛的数组匹配#
牛牛的数组匹配
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届毕业生现状#