算法1
(狗的方法)
直接用 $map$ 标记
时间复杂度
$O(N)$
参考文献
C++ 代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define ms(s) memset(s, 0, sizeof(s))
ll gcd(ll a,ll b){ return b==0?a:gcd(b,a%b); }
const int inf = 0x3f3f3f3f;
const int N = 1e5 + 5;
int a[N],b[N];
map<int,int> mp;
int main()
{
int n,m,x;
scanf("%d %d %d",&n,&m,&x);
for(int i =1;i <= n;i++) scanf("%d",&a[i]);
for(int i =1;i <= m;i++) scanf("%d",&b[i]);
for(int i =1;i <= n;i++)
{
mp[x - a[i]] = i;
}
for(int i = 1;i <= m;i++)
{
if(mp[b[i]])
{
printf("%d %d\n",mp[b[i]] - 1,i - 1);
}
}
return 0;
}