和為給定數 二分水題

2021-10-02 04:33:52 字數 752 閱讀 9055

1.簡單題目敘述

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

輸入格式 共三行: 第一行是整數 n(0第二行是 n 個整數。整數的範圍是在 0 到 2×10 ^8 之間。

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

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

輸出時每行末尾的多餘空格,不影響答案正確性

樣例輸入

42 5 1 4

6樣例輸出

1 5

#include

#include

using namespace std;

const

int len =

1e5+5;

int ar[len]

;int n;

long

long m;

int ans;

bool binary_search

(int l ,

int r ,

int tem)

}return false;

}int

main()

}if(i == n +1)

printf

("no\n");

return0;

}

二分 水題整理

感覺自己現在的水平太窪了,連二分這種題都要調好久。感覺二分總是寫不對啊,我真是太水了。在n個數之中插入k個數,使得相鄰的兩個數之間的差值的最大值最小。像這種最大值最小型別的題目,都是考慮使用二分策略 但是這道題我在第一次做的時候卻想錯了,我使用的貪心,我將相鄰的兩個數之間的差值進行排序,然後每次選出...

openjudge 和為給定數 二分查詢

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

poj 3122 二分水題

題意不難 有n塊高度都為1但底面半徑為r不等的圓柱體乳酪,作者邀請了f個朋友參加了他的party,他要把這些乳酪平均分給f 1人,每個人分得乳酪的體積必須相等 這個值是確定的 形狀就沒有要求。現在要你求出所有人都能夠得到的最大塊乳酪的體積是多少 直接二分即可 下界為0,即每人都分不到pie 上界為m...