a187: 挖石油發大財
標籤 : BST Binary Search Tree DS Data Structure
通過比率 : 19人/24人 ( 79% ) [非即時]
評分方式:
Tolerant

最近更新 : 2019-11-15 18:36

內容

        我們都知道挖石油可以發大財,先不論放假能不能挖石油,但總之就是可以發大財沒錯。

        現在我們在太平島旁發現了一處特別的石油井,該處蘊藏石油的地方就跟二元搜尋樹(BST)一模一樣。規則就是如果在一處發現石油,那在地下的下一層可能還會發現一處相連的石油蘊藏處,且左側的石油蘊藏量必定比他上一層連接的蘊藏處的量還少,而右側的石油蘊藏量必定比他上一層連接的蘊藏處的量還多。

        現在探勘人員推測出這個石油井有 $n$ 個蘊藏處,並且模擬出了這個BST當初插入蘊藏量的順序 $v_0 \sim v_{n-1}$ (別問我為什麼),現在某人想發大財,但是挖太少賺不夠,挖太多帶不回去,只能挖剛剛好的量。所以現在告訴你他想要挖的量,而你必須找出這批石油的深度是在第幾層(定義根節點深度為第 $0$ 層)。

輸入說明

題目為多筆測資輸入。

每一組測資第一行有兩個正整數 $n$、$m$,且 $(n \ge m)$ 。

第二行有 $n$ 個正整數表示 $v_0 \sim v_{n-1}$ (保證所有數字不重複)。

接下來共有 $m$ 行,每一行有一正整數代表要搜尋的石油蘊藏量。

輸出說明

針對每一筆詢問輸出該蘊藏量的深度,若不存在該蘊藏量則輸出 $-1$ 。

範例輸入
10 4
562 727 349 916 7 595 873 516 960 976 
562
349
516
6969
範例輸出
0
1
2
-1
測資資訊:
記憶體限制: 45 MB
公開 測資點#0 (5%): 1.0s , <1K
公開 測資點#1 (10%): 1.0s , <1M
公開 測資點#2 (10%): 1.0s , <1M
公開 測資點#3 (15%): 1.0s , <10M
公開 測資點#4 (20%): 3.0s , <50M
公開 測資點#5 (20%): 2.5s , <50M
公開 測資點#6 (20%): 2.5s , <50M
提示 :

全部數字都在int範圍內

標籤:
BST Binary Search Tree DS Data Structure
出處:
108學年度(上)復旦期中檢定考程式設計進階班FDCS 8th 進階教學 [管理者:
fdhs108rex (RexWu)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」