A,B数组为递增的,所以可将j从B的结尾开始,这样子不用每次把j放到开头再来一遍。
#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e5+10;
int A[N],B[N];
int main()
{
int n,m,x;
cin>>n>>m>>x;
for(int i=0;i<n;i++)
cin>>A[i];
for(int i=0;i<m;i++)
cin>>B[i];
int i,j,j1;
for( i=0,j=m-1;i<n;i++)
{
while(A[i]+B[j]>x&&j>=0)
{
j--;
}
if(A[i]+B[j]==x)
{
cout<<i<<" "<<j;
break;
}
}
return 0;
}
Acwing800数组元素的目标和
最新推荐文章于 2023-11-02 22:29:37 发布