만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

신비한 도로 표지판

면접 대비

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

요약
각 표지판이 공통된 서쪽 면 값이나 동쪽 면 값 중 하나에 맞는 가장 긴 연속 구간의 길이와, 그 길이를 갖는 구간의 개수를 구합니다.
난이도

보통10점 중 6점

유형
슬라이딩 윈도우, 투 포인터, 해시맵
정답자
아직 제출이 없습니다

문제

시그필드 마을은 서쪽에서 동쪽으로 곧고 무한히 긴 도로 위에 있다. 이 도로를 따라 양면에 숫자가 적힌 신비한 도로 표지판 SS개가 놓여 있다. 서쪽에서 동쪽 순서로 ii번째 표지판은 시그필드에서 동쪽으로 DiD_i 킬로미터 떨어진 곳에 있고, 서쪽을 향한 면에 AiA_i, 동쪽을 향한 면에 BiB_i가 적혀 있다.

시그필드 사람들은 이 표지판이 무엇을 뜻하는지 모른다. 서쪽 면의 숫자는 동쪽으로 가는 운전자에게 어떤 목적지까지의 거리이고, 동쪽 면의 숫자는 서쪽으로 가는 운전자에게 어떤 목적지까지의 거리라고 추측할 수 있다. 다만 일부 표지판은 이 가설과 맞지 않을 수 있다.

표지판들의 집합이 다음 두 조건을 모두 만족하면 유효한 집합이다.

  • 집합은 전체 표지판 수열의 연속된 부분 수열이다. 수열 전체도 포함한다.
  • 시그필드에서 동쪽으로 각각 MM km, NN km 떨어진 위치가 존재하며, MM과 NN은 임의의 수(양수일 필요도, 서로 다를 필요도 없음)이고, 집합의 모든 표지판에 대해 Di+Ai=MD_i + A_i = M 또는 Di−Bi=ND_i - B_i = N 중 하나가 성립한다.

유효한 집합에 포함될 수 있는 표지판 수의 최댓값과, 그 크기를 가진 서로 다른 유효한 집합의 개수를 구하라.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. 각 테스트 케이스는 표지판 수 SS를 담은 줄로 시작한다. 이어서 SS개의 줄이 주어지며, ii번째 줄에는 DiD_i, AiA_i, BiB_i가 들어 있다. 표지판은 서쪽에서 동쪽 순서로 주어진다.

출력

각 테스트 케이스마다 Case #x: y z 형식으로 한 줄을 출력한다. 여기서 xx는 1부터 시작하는 테스트 케이스 번호, yy는 유효한 집합의 최대 크기, zz는 그 크기를 가진 유효한 집합의 개수이다.

제한

  • 1≤T≤601 \le T \le 60
  • 모든 ii에 대해 1≤Di≤1061 \le D_i \le 10^6
  • 모든 i<ji < j에 대해 Di<DjD_i < D_j
  • 모든 ii에 대해 1≤Ai≤1061 \le A_i \le 10^6
  • 모든 ii에 대해 1≤Bi≤1061 \le B_i \le 10^6

힌트

표지판 하나로 이루어진 집합은 MM과 NN을 그 표지판에 맞게 고를 수 있으므로 항상 유효하다. 여러 MM, NN 조합에서 성립하는 집합도 한 번만 센다. 표지판 한쪽 면의 숫자는 반대쪽 면의 숫자를 대신할 수 없다.

예제1

  1. 예제 1

    입력
    3
    1
    1 1 1
    5
    2 7 12
    6 3 11
    8 10 1
    11 11 12
    13 9 14
    5
    1 3 3
    2 2 2
    3 1 1
    4 2 2
    5 3 3
    
    예상 출력
    Case #1: 1 1
    Case #2: 3 2
    Case #3: 5 1