数组元素的目标和
分析
两个序列。
实现
#include <iostream>
using namespace std;
const int N = 100010;
int a[N], b[N];
int main () {
int n, m, target;
scanf("%d%d%d", &n, &m, &target);
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, j = m; i <= n; ++ i) {
while (j >= 1 && a[i] + b[j] > target) -- j;
if (a[i] + b[j] == target)
printf("%d %d\n", i - 1, j - 1); // 0-index
}
return 0;
}