算法思路
注意到数组均为有序序列
#include <iostream>
using namespace std;
int n,m,x;
const int N = 100010;
int a[N],b[N];
int main()
{
scanf("%d%d%d",&n,&m,&x);
for(int i = 0;i<n;i++)
scanf("%d",&a[i]);
for(int i = 0;i<n;i++)
scanf("%d",&b[i]);
for(int i = 0,j=m-1;i<n;i++)
{
while(j>=0 && a[i] + b[j]>x)
j--;
if(a[i] + b[j] == x)
{
printf("%d %d",i,j);
break;
}
}
return 0;
}