計蒜客 小 B 的題目

2022-06-19 03:45:07 字數 1540 閱讀 2687

小 b 給小 a 出了這樣一道題:

給定乙個長為 nn 的序列 aa 和乙個長為 mm 的序列 bb,在 aa 和 bb 中各取乙個數相加,可以得到 n\times mn×m 個數,他想知道把這些數從小到大排序,第 kk 個數是多少(下標從 11 開始)。

小 a 不會做,他想讓你幫他解決這個問題。

第一行三個整數 n,m,kn,m,k,表示 aa 和 bb 的長度以及小 a 想知道的是第 kk 小;

第二行 nn 個整數,第 ii 個數表示 a_iai​;

第三行 mm 個整數,第 ii 個數表示 b_ibi​。

output

一行乙個整數,表示答案。

對於前 10\%10% 的資料,保證 1\leq n,m\leq 1001≤n,m≤100;

對於前 20\%20% 的資料,保證 1\leq n,m\leq 2\times10^31≤n,m≤2×103;

對於另 20\%20% 的資料,保證 1\leq n,m \leq 2\times 10^51≤n,m≤2×105, 1 \le a_i, b_i \le 10001≤ai​,bi​≤1000;

對於另 30\%30% 的資料,保證 1\leq n,m \leq 2\times 10^5, 1\leq k \leq 2\times 10^51≤n,m≤2×105,1≤k≤2×105;

對於剩下 30\%30% 的資料,保證 1\leq n,m \leq 10^61≤n,m≤106, 1 \leq k \leq n \times m1≤k≤n×m, 1 \leq a_i,b_i \leq 10^91≤ai​,bi​≤109,這部分資料有一定梯度。

部分輸入檔案較大,請注意讀入方式對效率的影響。

input

2 3 5

2 21 3 2

5
暴力得了10分。

正解是二分,從1-2e9開始找。

然後找mid 返回是否 大於 k個。

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 

7 #include 8 #include 9

using

namespace

std;

10 typedef long

long

ll;11

const

int inf=0x7fffffff;12

const

int n=1000000+100;13

intn,m;

14ll k;

15ll a[n],b[n];

16bool check(int

x)17

24if(cnt>=k) return0;

25return1;

26}27int

main()

2843 printf("

%lld\n

",l);

4445

46return0;

47 }

view code

計蒜客題目 Home Work

臨近開學了,大家都忙著收拾行李準備返校,但 i love c 卻不為此擔心 因為他的心思全在暑假作業上 目前為止還未開動。暑假作業是很多張試卷,我們這些從試卷裡爬出來的人都知道,卷子上的題目有選擇題 填空題 簡答題 證明題等。而做選擇題的好處就在於工作量很少,但又因為選擇題題目都普遍很長。如果有 5...

計蒜客題目 加一

陣列內存放了一些個位數字,組成乙個大數 從高位到低位 現在將這個數加 1,並輸出加一以後的結果。例如 a 2,3,1,1,4 則結果為 2,3,1,1,5 a 7,8,9 則結果為 7,9,0 第一行輸入乙個正整數 n 1 n 100 接下來的一行,輸入用空格分隔的 n 個 0 到 9 的非負整數組...

計蒜客題目 奇怪的國家

有乙個奇怪的國家,裡面的國民對於事情的態度永遠只有兩面。當兩個人遇到一起討論乙個事情的時候 兩個持贊同觀點的人遇到一起後會對這個事情都繼續贊同 乙個持贊同觀點的人遇到乙個持不贊同觀點的人的時候,兩人都會不再繼續贊同 兩個持不贊同觀點的人遇到一起討論後反而會對這個事情開始贊同。輸入包括兩行,每行包括 ...