선분 제거
시간 제한4초메모리 제한2048 MB
좌표 1부터 x까지의 구간들을 골라 제거할 때 얻을 수 있는 최대 점수를 구합니다. 구간을 제거하면 그 구간만 덮고 있던 점의 개수에 가중치를 곱한 값을 얻고, 페널티를 뺍니다.
문제
좌표축 위에 점 가 있다. 시작점과 끝점이 모두 이 점들 위에 있는 선분들이 주어진다. 각 선분에는 가중치 와 페널티 가 정해져 있다.
처음 점수는 이다. 각 이동에서는 주어진 선분 중 하나를 골라 집합에서 제거한다. 이때 점수는 그 선분의 페널티만큼 줄어든다. 대신 점수는 선분의 가중치에 곱한 값만큼 늘어난다. 곱하는 값은 이 순간 그 선분이 집합에서 유일하게 덮고 있는 정수 좌표 점의 개수이다. 선분은 양 끝점도 덮는 것으로 본다.
이동마다 얻은 점수의 합이 총점이다. 얻을 수 있는 총점의 최댓값을 구하라.
입력
첫 줄에 테스트 케이스의 개수 ()가 주어진다. 이후 테스트 케이스들이 이어진다.
각 테스트 케이스의 첫 줄에는 선분의 개수 ()과 최대 좌표 ()가 주어진다.
다음 개의 줄에는 선분 정보가 주어진다. 각 줄에는 정수 네 개가 있으며, 순서대로 선분의 시작점 , 끝점 (), 가중치 (), 페널티 ()이다.
모든 테스트 케이스에서 의 합은 를 넘지 않는다. 의 합은 를 넘지 않는다.
출력
각 테스트 케이스마다 얻을 수 있는 최대 점수를 한 줄에 정수 하나로 출력한다.