Open judge 07和為給定數

2022-02-13 09:44:25 字數 837 閱讀 5416

總時間限制: 1000ms 記憶體限制: 65536kb

傳送門類似的題傳送門

描述 給出若干個整數,詢問其中是否有一對數的和等於給定的數。

輸入 共三行:

第一行是整數n(0 < n <= 100,000),表示有n個整數。

第二行是n個整數。整數的範圍是在0到10^8之間。

第三行是乙個整數m(0 <= m <= 2^30),表示需要得到的和。

輸出 若存在和為m的數對,輸出兩個整數,小的在前,大的在後,中間用單個空格隔開。若有多個數對滿足條件,選擇數對中較小的數更小的。若找不到符合要求的數對,輸出一行no。

樣例輸入

4 2 5 1 4

6 樣例輸出

1 5

/*

二分答案.

o(olog(n))

先找乙個x 再二分(m-x)是否在單調序列中.

△注意:雖然必定有乙個數在m/2前面 要列舉m/2之前的數

但是可能會有:

1 2 3 4 5 m=6這種情況 3只有一次

so 要判返回的位置是和列舉的位置一樣.

*/#include

#define maxn 100001

using

namespace

std;

int a[maxn],n,m;

int erfen(int x)

return0;}

int main()

}cout

<<"no";

return

0;}

OpenJudge 和為給定數

描述 給出若干個整數,詢問其中是否有一對數的和等於給定的數。輸入共三行 第一行是整數n 0 n 100,000 表示有n個整數。第二行是n個整數。整數的範圍是在0到10 8之間。第三行是乙個整數m 0 m 2 30 表示需要得到的和。輸出若存在和為m的數對,輸出兩個整數,小的在前,大的在後,中間用單...

07 和為給定數

總時間限制 1000ms 記憶體限制 65536kb 描述給出若干個整數,詢問其中是否有一對數的和等於給定的數。輸入共三行 第一行是整數n 0 n 100,000 表示有n個整數。第二行是n個整數。整數的範圍是在0到10 8之間。第三行是乙個整數m 0 m 2 30 表示需要得到的和。輸出若存在和為...

07 和為給定數

總時間限制 1000ms 記憶體限制 65536kb 描述給出若干個整數,詢問其中是否有一對數的和等於給定的數。輸入共三行 第一行是整數n 0 n 100,000 表示有n個整數。第二行是n個整數。整數的範圍是在0到10 8之間。第三行是乙個整數m 0 m 2 30 表示需要得到的和。輸出若存在和為...