給出乙個整數k和乙個無序陣列a,a的元素為n個互不相同的整數,找出陣列a中所有和等於k的數對。例如k = 8,陣列a:,所有和等於8的數對包括(-1,9),(0,8),(2,6),(3,5)。
先將a進行排序,我們對a中的每個元素查詢對應的數對時,可以採用二分查詢,因為是順序排列了。
剪枝:當a中的元素值的兩倍大於等於k時,不用繼續查詢了。
#include
#include
using
namespace
std;
#define maxn 50000+5
int a[maxn];
int k,n;
int bs(int x)
return -1;
}int main()
51nod1001 陣列中和等於k的數對
1001 陣列中和等於k的數對 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 給出乙個整數k和乙個無序陣列a,a的元素為n個互不相同的整數,找出陣列a中所有和等於k的數對。例如k 8,陣列a 所有和等於8的數對包括 1,9 0,8 2,6 3,5 input 第1...
51Nod 1001 陣列中和等於K的數對
給出乙個整數k和乙個無序陣列a,a的元素為n個互不相同的整數,找出陣列a中所有和等於k的數對。例如k 8,陣列a 所有和等於8的數對包括 1,9 0,8 2,6 3,5 input 第1行 用空格隔開的2個數,k n,n為a陣列的長度。2 n 50000,10 9 k 10 9 第2 n 1行 a陣...
51nod1001 陣列中和等於K的數對
1001 陣列中和等於k的數對 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 給出乙個整數k和乙個無序陣列a,a的元素為n個互不相同的整數,找出陣列a中所有和等於k的數對。例如k 8,陣列a 所有和等於8的數對包括 1,9 0,8 2,6 3,5 input 第1...