
You want to build n new buildings in a city. The new buildings will be built in a line and are labeled from 1 to n .
However, there are city restrictions on the heights of the new buildings:
The height of each building must be a non-negative integer.
The height of the first building must be 0 .
The height difference between any two adjacent buildings cannot exceed 1 .
Additionally, there are city restrictions on the maximum height of specific buildings. These restrictions are given as a 2D integer array restrictions where restrictions[i] = [id _i , maxHeight _i ] indicates that building id _i must have a height less than or equal to maxHeight _i .
It is guaranteed that each building will appear at most once in restrictions , and building 1 will not be in restrictions .
Return the maximum possible height of the tallest building .
2 <= n <= 10 ^90 <= restrictions.length <= min(n - 1, 10 ^5 )2 <= id _i <= nid _i is unique .0 <= maxHeight _i <= 10 ^9