牛客假日團隊賽54 B 接機 二分 貪心

2021-10-09 14:55:33 字數 1385 閱讀 2512

題目描述

一場別開生面的牛吃草大會就要在farmer john的農場舉辦了!

世界各地的奶牛將會到達當地的機場,前來參會並且吃草。具體地說,有n頭奶牛到達了機場(1≤n

≤105

1≤n≤10^5

1≤n≤10

5),其中奶牛i在時間ti(0≤t

i≤10

90≤ti≤10^9

0≤ti≤1

09)到達。farmer john安排了m(1≤m

≤105

1≤m≤10^5

1≤m≤10

5)輛大巴來機場接這些奶牛。每輛大巴可以乘坐c頭奶牛(1≤c≤n)。farmer john正在機場等待奶牛們到來,並且準備安排到達的奶牛們乘坐大巴。當最後一頭乘坐某輛大巴的奶牛到達的時候,這輛大巴就可以發車了。farmer john想要做乙個優秀的主辦者,所以並不想讓奶牛們在機場等待過長的時間。如果farmer john合理地協調這些大巴,等待時間最長的奶牛等待的時間的最小值是多少?一頭奶牛的等待時間等於她的到達時間與她乘坐的大巴的發車時間之差。

輸入保證mc≥n。

輸入描述:

輸入的第一行包含三個空格分隔的整數n,m和c。第二行包含n個空格分隔的整數,表示每頭奶牛到達的時間。

輸出描述:

輸出一行,包含所有到達的奶牛中的最大等待時間的最小值。

示例1輸入

6 3 2

1 1 10 14 4 3

輸出
4
說明

如果兩頭時間1到達的奶牛乘坐一輛巴士,時間2和時間4到達的奶牛乘坐乘坐第二輛,時間10和時間14到達的奶牛乘坐第三輛,那麼等待時間最長的奶牛等待了4個單位時間(時間10到達的奶牛從時間10等到了時間14)。

同型別題目:poj 3258 river hopscotch

題解:線性掃瞄區間:

如果當前奶牛之前沒有坐車,就坐一輛車,等接下來的車

如果當前奶牛的時間與第一頭上車的奶牛時間差在mid以內,且容量夠,上車

否則另開一輛車

最後得到所需車的數量

c++ ac **

#include

const

int maxn =

1e5+10;

using

namespace std;

int a[maxn]

, n, m, c;

intsolves

(int u)

}return sum;

}int

main()

printf

("%d\n"

, l +1)

;return0;

}

牛客練習賽54B 求和

第一行乙個整數t,表示資料組數。接下來t行每行乙個整數n,含義如題目描述所示。輸出t行,表示每次詢問的結果。示例1 2 248 48t 3 1e5,n 1e18。輸入資料量可能較大,建議使用較快的讀入方式。題目大意 給定乙個數n,讓計算i從0開始到2 n的每乙個數字的lowbit的和。題解 由於資料...

牛客假日團隊賽54 A 分組 dp

分組題目描述 在farmer john最喜歡的節日裡,他想要給他的朋友們贈送一些禮物。由於他並不擅長包裝禮物,他想要獲得他的奶牛們的幫助。你可能能夠想到,奶牛們本身也不是很擅長包裝禮物,而farmer john即將得到這一教訓。farmer john的n頭奶牛 1 n 104 1 n 10 4 1 ...

牛客假日團隊賽1 B

farmer john最討厭的農活是運輸牛糞。為了精簡這個過程,他製造了乙個偉大的發明 便便傳送門!與使用拖拉機拖著裝滿牛糞的大車從乙個地點到另乙個地點相比,他可以使用便便傳送門將牛糞從乙個地點瞬間傳送到另乙個地點。farmer john的農場沿著一條長直道路而建,所以他農場上的每個地點都可以簡單地...