TopCoder

Adrien Wu
AC×29New TIOJ ?

User's AC Ratio

94.0% (126/134)

Submission's AC Ratio

57.8% (234/405)

Tags

Description

  飛天桑妮(?)是一隻運動神經很好的鼯鼠,她很喜歡在樹木間移動,尤其最愛從高處一躍而下,享受滑翔的快感。她所居住的森林裡有N棵樹木,已知每棵樹ti(1iN)的位置(xi,yi) 和高度hi。桑妮的家t1位於(0,0),而桑妮的奶奶家tN位於(10000,10000)的位置。這個週末她要去奶奶家,因而尋求你的協助。
  從家裡前往奶奶家的旅程可定義為由K(2KN)棵相異樹木構成的序列
  π=[π(1)=1,π(2),,π(K)=N]
由於桑妮想要快點到奶奶家,所以旅程後段的樹木不能比前段的樹木離桑妮家還近,也就是d(t1,tπ(i+1))d(t1,tπ(i)),其中d(ti,tj)表示兩棵樹titj的直線距離。當桑妮從一棵較高的樹tπ(i)跳到下一棵樹tπ(i+1) 時,如果是由高到低,她就能使出滑翔絕技,享受樂趣。高度差越大,樂趣就越大,因此我們可以把樂趣值定為max{0,hπ(i)hπ(i+1)}。她希望這段旅程中可以享受到最大的樂趣,因此想請你幫忙寫一個程式,計算所有可能的旅程中,最大的樂趣值為多少。

  以上圖為例,森林中有五棵樹,其位置和高度如圖所示。如果桑妮的旅程是[1,2,3,4,5],則這段旅程的最大樂趣為t3t4得到的樂趣值300100=200;如果旅程是[1,3,5],則最大樂趣為 t3t5得到的樂趣值300150=150。旅程[1,3,2,5]是不合理的,因為t2t3離桑妮家還要近。旅程[1,5]是合理的(記得飛天桑妮的運動神經很好嗎),但最大樂趣值是0

Input Format

第一列有一個正整數N(105),代表森林中的樹木數。接下來的N列,每一列有三個正整數xi,yi(104)hi(105),彼此間以一個空白隔開,代表第i棵樹ti在位置(xi,yi),且該樹高度為hi

Output Format

請輸出所有合理旅程中,最大的樂趣值。

Sample Input 1

7
0 0 42
5726 1480 29359
6965 4465 5706
8148 3284 16828
6335 6503 19170
9962 492 2996
10000 10000 18468

Sample Output 1

26363

Hints

Problem Source

臺北市105學年度高級中學資訊學科能力競賽程式設計試題第一題
Set by Yihda Yol

Subtasks

No. Testdata Range Score
1 0~2 30
2 0~6 30
3 0~11 40

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 524288 262144 1 2 3
1 1000 524288 262144 1 2 3
2 1000 524288 262144 1 2 3
3 1000 524288 262144 2 3
4 1000 524288 262144 2 3
5 1000 524288 262144 2 3
6 1000 524288 262144 2 3
7 1000 524288 262144 3
8 1000 524288 262144 3
9 1000 524288 262144 3
10 1000 524288 262144 3
11 1000 524288 262144 3