ZZUSOFTOJ 攔截飛彈 (函式使用)

2021-09-13 22:01:25 字數 1097 閱讀 1163

時間限制: 1 sec  記憶體限制: 128 mb

提交: 4  解決: 3

[提交] [狀態] [討論版] [命題人:外部匯入]

題目描述

某國為了防禦敵國的飛彈襲擊,發展出一種飛彈  攔截系統。但是這種飛彈攔截系統有乙個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的高度。某天,雷達捕捉到敵國的  飛彈來襲。由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的飛彈。 

輸入飛彈依次飛來的高度(雷達給出的高度資料是不大於30000的正整數),計算這套系統最多能攔截多少飛彈,如果要攔截所有飛彈最少要配備多少套這種飛彈攔截系統。 

輸入一行,為飛彈依次飛來的高度 

輸出兩行,分別是最多能攔截的飛彈數與要攔截所有飛彈最少要配備的系統數 

樣例輸入

389 207 155 300 299 170 158 65
樣例輸出

6

2

兩問的做法相同(雖然看上去花裡胡哨很麻煩),就是對整體資料進行公升序和降序排列,用到乙個函式簡化操作。

著重區分以下四個函式的區別:

lower_bound( begin,end,num)//求陣列中(begin到end-1)第乙個大於等於num的位址

upper_bound( begin,end,num)//大於

lower_bound( begin,end,num,greater() )//小於等於

upper_bound( begin,end,num,greater() )//小於

#includeusing namespace std;

int main()

, mi[10010] = ;//ma為降序,mi為公升序

cin >> a;

mi[0] = a;

ma[0] = a;

while (scanf("%d", &a) != eof)

if (a>mi[ans2 - 1])

else

}cout << ans1 << endl << ans2;

return 0;

}

攔截飛彈 vip

描述 某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的高度。某天,雷達捕捉到敵國的飛彈來襲。由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的飛彈。輸入飛彈依次飛來的高度 雷...

1044 攔截飛彈

1999年noip全國聯賽提高組 時間限制 1 s 空間限制 128000 kb 題目等級 gold 題解 題目描述 description 某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的...

攔截飛彈 題解

description ggf最近經常遭到不明飛彈的襲擊,因此他只好開發了一套飛彈攔截系統。該系統非常先進,使用會拐彎的雷射對飛彈進行射擊。所有被雷射擊中的飛彈就瞬間完蛋,而且一束雷射可以同時摧毀多枚飛彈。但雷射只能向上發射,所以若同一束雷射能依次擊中多枚飛彈,則這些飛彈座標的每一維都嚴格單調上公升...