Tornbygge | 프로그래밍의 벗 PivotOJ
PivotOJ

Tornbygge

시간 제한: 3000ms메모리 제한: 1024MB출처: Programmeringsolympiaden 2018 — onlinekvalBOJ 20866

문제

Lille Dirk Ref vill bygga ett så högt torn som möjligt med sina N klossar. Alla klossar är rätblock med en kvadratisk botten, och ett torn är en mängd med klossar som är staplade direkt ovanpå varandra (det får inte ligga två klossar bredvid varandra). För att tornet inte ska bli instabilt och rasa måste varje kloss bredd (alltså sidan på den kvadratiska botten den står på) alltid vara strikt mindre än bredden av klossen den står på. Alltså byggs tornet med de bredaste klossarna i botten, och smalare klossar ju högre upp man kommer. Dessutom måste även varje kloss vara minst lika högt som klossen nedanför, för att tornet ska bli snyggt. Hjälp Dirk att räkna ut hur högt torn han maximalt kan bygga.

입력

Den första raden innehåller ett heltal NN, antalet klossar Dirk har. Därefter följer NN rader, en för varje kloss. På den ii:te av dessa rader står två heltal, det ii:te blockets bredd WiW_i, 1Wi1091 \leq W_i \leq 10^9 och höjd HiH_i, 1Hi1091 \leq H_i \leq 10^9.

출력

Skriv ut en rad med ett heltal: den maximala höjden som Dirk kan bygga.

예제

예제 1

입력
5
5 1
4 2
3 5
2 3
1 4
출력
10

예제 2

입력
9
6 4
5 7
2 6
1 7
9 1
8 2
7 5
5 9
5 3
출력
22

예제 3

입력
3
1 2
1 2
1 3
출력
3
코드를 제출하려면 로그인하세요.