ターゲット配列の要素と

配列AとB、及び目標値Xの昇順に順序付け二つの与えられました。配列のインデックスは0から始まります。
決定されたA [i]が+ B番号[j] = X対(i、j)を満たしてください。

データは独自のソリューションを持っていることを確認してください。
入力形式

最初の行は三つの整数N、M、Xを含み、Aはそれぞれの長さの長さ、B、およびXの目標値を表します。

2行目は、配列Aを表す整数Nを含んでいます

第3段目は、m個の整数を含む配列Bを表します
出力フォーマット

二つの整数iとjを備え、合計行、。
データ範囲

配列の長さではない100,000以下。
同じアレイ内の要素が変わります。
1≤配列要素≤109

サンプル入力:

4 5 6
1 2 4 7
3 4 6 8 9

出力例:

1 1

#include <iostream>
using namespace std;

const int N = 100010;
int n, m, k;
int a[N], b[N];

int main()
{
    scanf("%d%d%d", &n, &m, &k);
    for(int i = 0; i < n; i ++) cin >> a[i];
    for(int i = 0; i < m; i ++) cin >> b[i];
    
    for(int i = 0, j = m - 1; i < n; i ++)
    {
        while(j >= 0 && a[i] + b[j] > k) j --;
        if(a[i] + b[j] == k)
        {
            printf("%d %d\n", i, j);
            break;
        }
    }
    
    return 0;
    
}
公開された110元の記事 ウォンの賞賛0 ビュー1247

おすすめ

転載: blog.csdn.net/weixin_44356316/article/details/104381140