포럼
문제 USACO0647

사진 촬영

설명

농부 존의 농장은 무성한 초목으로 가득해서 모든 소가 그 자연의 아름다움을 담은 사진을 원한다. 안타깝게도 베시는 가야 할 곳이 있지만, 어떤 사진 촬영도 방해하고 싶지 않다.

베시는 현재 XY 평면의 \((X,0)\)에 서 있으며 \((0,Y)\)로 가고 싶다(\(1\le X,Y\le 10^6\)). 안타깝게도 다른 소 \(N\)마리(\(1 \leq N \leq 3 \cdot 10^5\))가 \(X\)축 위에서 포즈를 취하기로 했다. 더 구체적으로, 소 \(i\)\((x_i,0)\)에 자리를 잡고, 사진사가 \((0,y_i)\)에서 사진을 찍을 준비를 하고 있다(\(1 \leq x_i,y_i \leq 10^6\)). 그들은 시각 \(s_i\)(\(1 \leq s_i < T\)) 직전에 포즈를 취하기 시작하며, 아주 오랫동안 포즈를 유지한다(사진을 완벽하게 찍어야 하기 때문이다). 여기서 \(1\le T\le N+1\)이다.

베시는 모든 소의 사진 촬영 일정을 알고 있으며, 어떤 사진사와 그 소 사이의 시야선도 가로지르지 않으면서 목적지까지 유클리드 거리가 가장 짧은 경로로 이동한다(경로는 하나 이상의 선분으로 이루어진다).

베시가 시각 \(t\)에 출발하면, \(s_i \le t\)인 시각에 포즈를 취하기 시작한 모든 사진사/소 쌍의 시야선을 피해야 하며, 이때 최종 목적지까지의 거리를 \(d_t\)라고 하자. \(0\)부터 \(T-1\)까지(양 끝 포함)의 각 정수 \(t\)에 대해 \(\lfloor d_t\rfloor\)의 값을 구하시오.

Problem credits: Suhas Nagar

제약

배점

  • 입력 4-6: \(N\le 100\)
  • 입력 7-9: \(N\le 3000\)
  • 입력 10-12: \(T\le 10\)
  • 입력 13-18: 추가 제약이 없다

Problem credits: Suhas Nagar

입력 형식

첫째 줄에 \(x\)축 위에서 포즈를 취하는 소의 수와 베시가 출발할 수 있는 시간 범위를 나타내는 \(N\)\(T\)가 주어진다.

둘째 줄에 베시의 시작 \(X\) 좌표와 목표 \(Y\) 좌표를 나타내는 \(X\)\(Y\)가 주어진다.

다음 \(N\)개의 줄에 \(s_i\), \(x_i\), \(y_i\)가 주어진다. 모든 \(x_i\)는 서로 다르고 \(X\)와도 다르며, 모든 \(y_i\)는 서로 다르고 \(Y\)와도 다름이 보장된다. 모든 \(s_i\)는 증가하는 순서로 주어지며, \(s_i \leq s_{i+1}\)이다.

출력 형식

\(T\)개의 줄을 출력한다. \(t\)번째(0부터 시작) 줄에 \(\lfloor d_t\rfloor\)를 출력한다.

예제 1
입력
4 5
6 7
1 7 5
2 4 4
3 1 6
4 2 9
출력
9
9
9
10
12
예제 2
입력
2 3
10 7
1 2 10
1 9 1
출력
12
16
16
설명

For \(t=0\) the answer is \(\lfloor \sqrt{149} \rfloor=12\).

For \(t=1\) the answer is \(\lfloor 14+\sqrt 5\rfloor=16\).

예제 3
입력
5 6
8 9
1 3 5
1 4 1
3 10 7
4 9 2
5 6 6
출력
12
12
12
12
14
14
설명

For \(t=5\) the answer is \(\lfloor 1+\sqrt{9^2+7^2}+2\rfloor=14\). Path:
\((8,0)\to (9,0)\to (0,7)\to (0,9)\)

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2024-2025 > January > Gold

태그

평가 및 의견

Photo Op

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Photo Op

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8