아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

변환진

시간 제한10초메모리 제한256 MB

요약
이미 활성화된 안쪽 원들이 뒤집히며 얻는 에너지 합이 가장 커지도록 모든 원의 활성화 순서를 정합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 트리, 그리디
정답자
아직 제출이 없습니다

문제

연금술사는 물질을 다른 형태로 바꾸는 변환을 쓴다. 변환을 쓰려면 땅에 변환진을 그려야 하고, 변환진 안에 다른 변환진을 그려도 된다. 변환진을 알맞은 순서로 발동하면 더 강한 변환이 일어난다.

니콜라스 플라멜은 땅에 변환진 NN개를 그렸다. 두 변환진은 교차하지도 접하지도 않으므로, 어떤 두 변환진을 골라도 서로 완전히 떨어져 있거나 한쪽이 다른 쪽 안에 완전히 들어 있다.

변환진을 발동하면 그 변환진은 불의 원소를 뜻하는 붉은색으로 타오른다. 발동 자체로는 에너지가 나오지 않는다. 에너지는 이미 발동한 변환진의 원소가 바뀔 때 나온다. 변환진 하나를 발동하면, 그 변환진 안에 있으면서 이미 발동한 변환진이 모두 한꺼번에 반대 원소로 바뀐다. 불은 물을 뜻하는 파란색이 되고, 물은 다시 붉은 불이 된다. ii번 변환진은 불에서 물로 바뀔 때 에너지 AiA_i를, 물에서 불로 바뀔 때 에너지 BiB_i를 낸다. 두 값은 음수일 수 있고, 누적 에너지도 도중에 음수가 될 수 있다. 그래도 변환은 그대로 진행된다.

니콜라스는 변환진 NN개를 모두 한 번씩 발동한다. 에너지의 합이 가장 커지는 발동 순서를 구하자.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. (1≤T≤1001 \le T \le 100)

각 테스트 케이스의 첫째 줄에 변환진의 개수 NN이 주어진다. (1≤N≤20001 \le N \le 2000) 다음 NN개의 줄에 변환진의 정보 XX, YY, RR, AA, BB가 공백으로 구분되어 주어진다. 앞의 세 정수는 변환진의 중심 좌표와 반지름이고, 뒤의 두 정수는 불에서 물로 바뀔 때 나오는 에너지 AA와 물에서 불로 바뀔 때 나오는 에너지 BB이다. (−10000≤X,Y≤10000-10000 \le X, Y \le 10000; 1≤R≤100001 \le R \le 10000; −500≤A,B≤500-500 \le A, B \le 500)

같은 테스트 케이스 안의 두 변환진은 교차하지도 접하지도 않는다.

출력

각 테스트 케이스마다 두 줄을 출력한다.

첫째 줄에 낼 수 있는 에너지의 최댓값을 출력한다. 둘째 줄에 그 최댓값을 내는 발동 순서를 변환진의 번호로 출력한다. 변환진의 번호는 입력에 주어진 순서대로 11번부터 NN번까지다. 최댓값을 내는 순서가 여러 개면 사전순으로 가장 앞서는 것을 출력한다.

예제3

  1. 예제 1

    입력
    1
    8
    0 0 100 -100 -100
    0 0 50 -10 -10
    0 0 10 -100 500
    0 0 1 100 100
    1000 1000 100 -1 1
    1000 1000 50 -1 1
    1000 1000 10 -1 1
    1000 1000 1 -1 1
    
    예상 출력
    700
    4 3 1 2 5 6 7 8
    
  2. 예제 2

    입력
    1
    1
    0 0 5000 500 -500
    
    예상 출력
    0
    1
    
  3. 예제 3

    입력
    1
    2
    0 0 100 -500 -500
    0 0 50 500 -500
    
    예상 출력
    500
    2 1