얼렁뚱땅 백준 문제풀이

[백준 문제풀이] 얼렁뚱땅 1027번 고층건물 풀이

MOSTAR 2022. 10. 21. 14:48

https://www.acmicpc.net/problem/1027

 

1027번: 고층 건물

세준시에는 고층 빌딩이 많다. 세준시의 서민 김지민은 가장 많은 고층 빌딩이 보이는 고층 빌딩을 찾으려고 한다. 빌딩은 총 N개가 있는데, 빌딩은 선분으로 나타낸다. i번째 빌딩 (1부터 시작)

www.acmicpc.net

 

n = int(input())
arr = list(map(int,input().split()))
max_num = -1
for i in range(n) :
    my_high = arr[i]
    # left
    left_count = 0
    for j in range(i-1,-1,-1) :
        hello = abs(arr[i] - arr[j])
        sign=0
        for k in range(i-1,j,-1):
            if arr[i] <= arr[j] :
                hey = i-k
            else :
                hey = k-j
            x = (hey * hello) / (i-j)
            if x <= arr[k]-min(arr[j],arr[i]) :
                sign = 1
                break
        if sign == 0 :
            left_count += 1
    # rignt
    right_count = 0
    for j in range(i+1, n) : 
        hello = abs(arr[j] - arr[i])
        sign = 0
        for k in range(i+1,j) :
            if arr[i] <= arr[j] :
                hey = k-i
            else :
                hey = j-k
            x = (hey * hello) / (j-i)
            if x <= arr[k]-min(arr[j],arr[i]) :
                sign = 1
                break
        if sign == 0 :
            right_count += 1

    max_num = max(max_num, left_count+right_count)


print(max_num)