AcWing 800. 数组元素的目标和
原题链接
简单
作者:
跟着灿哥学切菜
,
2021-01-14 19:43:42
,
所有人可见
,
阅读 205
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 100010;
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 i = 0; i < m; i ++) scanf("%d", &B[i]);
//此时使用双指针, 其中for 循环中控制的是i, while循环中控制的是j;
//通过这种方式, 每次i指针移动一位, 通过条件来判断j是否需要调整, 从而找到合适的数值对
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) cout << i << ' ' << j << endl;
}
return 0;
}