¿La página no carga? Prueba haciendo clic aquí.
Placeholder

#10378

온도계 30s 1024MB

Problemas

당신은 섬의 해안을 따라 기후를 조사하는 연구팀의 일원이다. 섬의 해안은 둘레가 K킬로미터인 원으로 모델링된다. 해안에는 등대가 하나 있으며, 이는 원 둘레 위의 한 점을 차지한다. 해안 위의 각 점은 [0, K) 범위의 실수 하나에 대응된다. 정확히 말해, x는 등대에서 해안을 따라 시계 방향으로 x킬로미터 걸어간 지점이다. 예를 들어 K = 5라면, 점 0은 등대가 있는 지점, 점 1.5는 등대에서 시계 방향으로 1.5km 떨어진 지점, 점 2.5는 등대와 지름의 반대편에 있는 지점이다.

당신은 해안의 온도를 연구하는 일을 맡았다. 다른 팀은 다음과 같이 동작하는 해안 온도 측정 시스템을 설치했다. 여러 온도계를 특정 지점들에 설치해 그 지점의 온도를 측정한다. 어떤 두 온도계도 같은 지점에 놓이지 않았다. 그 팀의 모델에서는 온도계가 없는 지점의 온도는 가장 가까운 온도계가 측정한 온도와 같다고 가정한다. 두 온도계까지의 거리가 같은 지점에서는, 시계 방향에 있는 온도계(그 지점에서 시계 방향으로 걸었을 때 처음 만나는 온도계)를 사용한다.

불행히도 당신은 온도계가 몇 개였는지, 어디에 놓였는지 알지 못한다. 하지만 시스템의 온도 데이터에는 접근할 수 있다. 데이터는 N개의 값으로 이루어진 두 목록 X1, X2, ..., XN 그리고 T1, T2, ..., TN 으로 주어진다. 이는 다음을 의미한다: 1 ≤ i < N인 각 i에 대해 Xi ≤ x < Xi+1인 모든 점 x에는 온도 Ti가 할당되고, 0 ≤ x < X1 또는 XN ≤ x < K인 모든 점 x에는 온도 TN가 할당된다. 점들은 시계 방향으로 열거되어 있으므로, 모든 i에 대해 Xi < Xi+1이다.

관측된 데이터를 만들어낼 수 있는 온도계의 최소 개수를 구하고 싶다.


Entrada

입력의 첫 줄에는 테스트 케이스 수 T가 주어진다. T개의 테스트 케이스가 이어지며, 각 테스트 케이스는 3줄로 이루어진다. 첫 줄에는 두 정수 K, N이 주어진다. 이는 섬의 둘레와 온도 데이터를 나타내는 목록의 크기이다. 둘째 줄에는 N개의 정수 X1, X2, ..., XN이 주어진다. 셋째 줄에는 N개의 정수 T1, T2, ..., TN이 주어진다. 두 번째/세 번째 줄의 정수들이 온도를 나타내는 방식은 위에서 설명한 그대로이다.


Salida

각 테스트 케이스마다 Case #x: y 형식의 한 줄을 출력하라. 여기서 x는 (1부터 시작하는) 테스트 케이스 번호이고, y는 위에서 설명한 관측 데이터를 만들어낼 수 있었던 온도계의 최소 개수이다.


Ejemplo

3
2 2
0 1
184 330
3 2
0 1
184 330
10 3
1 5 9
184 200 330
Case #1: 2
Case #2: 3
Case #3: 3
샘플 케이스 #1에서는 서로 다른 온도 측정값이 두 개 있으므로 최소 2개의 온도계가 필요하다. 정확히 2개의 온도계로 데이터를 만들 수 있는데, 예를 들어 한 온도계(184 측정)를 0.5 지점에, 다른 하나(330 측정)를 1.5 지점에 두면 된다. 0과 1 지점은 두 온도계까지의 거리가 같으므로 시계 방향에 있는 온도계를 사용한다는 점에 유의하라. 따라서 0 지점의 온도는 0.5 지점의 온도계에서, 1 지점의 온도는 1.5 지점의 온도계에서 측정된다. 샘플 케이스 #2의 데이터는 온도계 2개로는 만들 수 없다. 0.2, 1.8, 2.8 지점에 각각 184, 330, 330을 측정하는 3개의 온도계를 두면 만들 수 있다. 이 외에도 3개의 온도계를 배치하는 다른 방법들이 있다. 샘플 케이스 #3에서는 0, 2, 8 지점에 각각 330, 184, 200을 측정하는 온도계를 두는 방식이 한 가지 방법이다.

Fuente

GCJ 2020r3 B

Debes iniciar sesión para escribir código.