陣列中和等於K的數對 51Nod 1001

2021-08-25 17:33:23 字數 971 閱讀 4681

*看得出來自己真菜

給出乙個整數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陣列的n個元素。(-10^9 <= ai <= 10^9)

output

第1 - m行:每行2個數,要求較小的數在前面,並且這m個數對按照較小的數公升序排列。

如果不存在任何一組解則輸出:no solution。

sample input

8 9

-1 6

5 3

4 2

9 0

8sample output

-1 9

0 8

2 6

3 5

#include #include int a[50005];

void paixu(int *a,int l,int r)

a[i]=x;

paixu(a,i+1,r);

paixu(a,l,i-1);

}int main()

paixu(a,0,n-1);

i=0;j=n-1;

while(iif(a[i]+a[j]==m)

else

if(a[i]+a[j]>m) j--;

else i++;

}if(c==0) printf("no solution\n");

return0;

}

1001 陣列中和等於K的數對 51NOD

這是我在51nod上做的第一道一級演算法題,感覺51nod的低階題也沒那麼難嘛,這就是一道划水題,簡單的二分查詢就可解了。我有兩種解法,第一種想來效率沒二分高,就是排序後分別從頭和從後遍歷,然後頭指標只能向後,尾指標只能向前,這樣就避免了一些重複,但是具體會不會tle就沒去嘗試了。第二種解法就是二分...

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陣...