給乙個長度為n的a陣列和乙個長度為m的b陣列,問相鄰的b陣列元素中間最多有多少個a陣列元素??
輸入第一行輸入t,代表t組樣例
輸入n和m,分別代表a陣列和b陣列的長度
輸入a陣列
輸入b陣列
輸出如果ans == 0,輸出impossible
否則,輸出ans
lower_bound和upper_bound的使用
#include
using
namespace std;
typedef
long
long ll;
const
int maxn =
5e5+5;
int a[maxn]
;int b[maxn]
;int
main()
for(
int j =
1;j <= m;j++
)sort
(a +
1,a +
1+ n)
;sort
(b +
1,b +
1+ m)
; b[0]
=-1e9;
b[m +1]
=1e9+5
;int ans =-1
;for
(int i =
1;i <= m +
1;i++)if
(ans >0)
printf
("%d\n"
,ans)
;else
printf
("impossible\n");
}return0;
}
基礎演算法 二分
二分模板 bool check int x 檢查x是否滿足某種性質 區間 l,r 被劃分成 l,mid 和 mid 1,r 時使用 int bsearch 1 int l,int r return l 區間 l,r 被劃分成 l,mid 1 和 mid,r 時使用 int bsearch 2 int...
演算法基礎 二分查詢函式 二分演算法
一 寫乙個函式binaryseach,在包含size個元素的 從小到大排序的int數a裡查詢元素p,如果找到,則返回元素下標,如果找不到,則返回 1。要求複雜度o log n int binarysearch int a,int size,int p return 1 複雜度o log n 二 寫乙...
演算法基礎 二分查詢
二分查詢主要是為了解決 在一堆數中找出指定的數 這類問題。要想二分查詢,這一堆數必須有以下特徵 至於是順序遞增還是遞減,是否存在相同的元素都不要緊。include include using namespace std int binarysearch int array,int low,int h...