목차

난개발

ps
링크acmicpc.net/…
출처BOJ
문제 번호19584
문제명난개발
레벨골드 3
분류

스위핑

시간복잡도O(nlogn)
인풋사이즈n<=2*10^5
사용한 언어Python 3.11
제출기록85156KB / 1092ms
최고기록924ms
해결날짜2023/08/21

풀이

코드

"""Solution code for "BOJ 19584. 난개발".

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

Tags: [sweeping]
"""

import sys

ADD = 1
REMOVE = 2


def main():
    N, M = [int(x) for x in sys.stdin.readline().split()]
    y_coords = []
    for _ in range(N):
        # pylint: disable=unused-variable
        x, y = [int(x) for x in sys.stdin.readline().split()]
        y_coords.append(y)
    events = []
    for _ in range(M):
        u, v, c = [int(x) for x in sys.stdin.readline().split()]
        y1, y2 = y_coords[u - 1], y_coords[v - 1]
        events.append((min(y1, y2), ADD, c))
        events.append((max(y1, y2), REMOVE, -c))

    answer = 0
    traffic = 0
    for _, _, traffic_delta in sorted(events):
        traffic += traffic_delta
        answer = max(answer, traffic)

    print(answer)


if __name__ == '__main__':
    main()