经典双指针算法 i向后搜 j向前搜
C++ 代码
#include<iostream>
using namespace std;
const int N=1e5+5;
int a[N],b[N];
int main(){
int n,m,x;
cin>>n>>m>>x;
for(int i=0;i<n;i++) scanf("%d",&a[i]);
for(int j=0;j<m;j++) scanf("%d",&b[j]);
int i=0,j=m-1;
int res=a[i]+b[j];
while(res!=x){
res=a[i]+b[j];
if(res<x) i++;
else if(res==x) break;
else{
j--;
}
}
cout<<i<<" "<<j<<endl;
}