openjudge 1 11 07和為給定數

2021-09-03 02:47:39 字數 577 閱讀 6425

描述

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

輸入共三行:

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

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

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

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

樣例輸入

42 5 1 4

6樣例輸出

1 5思路:

首先,排序a陣列。然後,開始for迴圈,從a[1]一直試到a[n]。每次查詢d和m-d,要是全部為1,就輸出。否則,繼續迴圈。我們用二分查詢進行查詢。

以下是二分演算法,定義front=1,end=n和mid=(front+end)/2。開始while迴圈,要是mid>d,改變end的值,否則要是mid d)

else if (a[mid] < d)

else (a[mid] == d);

} return 0;

}

OpenJudge 1 11 0 7 和為給定數

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

open judge類和物件

描述 用友元類解決下面的問題 設計乙個point 類.其中 資料成員 點的座標x,y 成員函式 帶有參的建構函式 不帶預設值 其他成員函式不做要求。定義乙個line類 要求 資料成員 線上的兩個點point1,point2 用定義好的point 成員函式 定義一條直線 計算線段的長度 輸入兩個點的座...

OpenJudge 和為給定數

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