사용자 도구

사이트 도구


ps:problems:boj:22341

사각형 면적

ps
링크acmicpc.net/…
출처BOJ
문제 번호22341
문제명사각형 면적
레벨브론즈 2
분류

기초

시간복잡도O(n)
인풋사이즈n<=10000
사용한 언어Python
제출기록30864KB / 76ms
최고기록72ms
해결날짜2022/02/17

풀이

  • 그냥 시키는 대로 구현하면 되는 문제.
  • 점이 들어올때마다, 가로와 세로로 잘랐을때의 넓이를 각각 구해서 비교해보고, 넓어지는 쪽으로 자르면 (=높이나 길이를 갱신해주면) 된다.
  • 시간복잡도는 O(n) (n=점의 갯수)

코드

"""Solution code for "BOJ 22341. 사각형 면적".

- Problem link: https://www.acmicpc.net/problem/22341
- Solution link: http://www.teferi.net/ps/problems/boj/22341
"""

import sys


def main():
    N, C = [int(x) for x in sys.stdin.readline().split()]
    a = b = N
    for _ in range(C):
        X, Y = [int(x) for x in sys.stdin.readline().split()]
        if X >= a or Y >= b:
            continue
        if b * X >= a * Y:
            a = X
        else:
            b = Y

    print(a * b)


if __name__ == '__main__':
    main()

토론

댓글을 입력하세요:
I P​ G L F
 
ps/problems/boj/22341.txt · 마지막으로 수정됨: 2022/02/18 09:09 저자 teferi