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

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

잔인한 수학 선생님, II

시간 제한1초메모리 제한128 MB

요약
구간 [-1e6, 1e6]에서 실근이 하나뿐인 홀수 차수 다항식의 근을 오차 5e-5 이내로 구해 1000을 곱한 값을 0 방향으로 버림하여 출력한다.
난이도

보통10점 중 5점

유형
이분 탐색, 수학, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

수를 거듭제곱하는 것만으로는 충분히 잔인하지 않다는 듯, Bessie의 잔인한 수학 선생님은 더 잔인한 과제를 냈습니다. 바로 다항식의 근(영점)을 찾는 것입니다.

이 다항식들은 모두 홀수인 최고 차수 DD (1≤D≤111 \le D \le 11)를 가지며, 구간 −1,000,000≤X≤1,000,000-1{,}000{,}000 \le X \le 1{,}000{,}000 안에 실수해가 정확히 하나만 존재합니다. 그 해에서 다항식의 값은 부동소수점 연산 기준으로 00에 매우 가깝거나 정확히 00입니다.

실수 계수 (−500≤coefi≤500-500 \le coef_i \le 500)로 이루어진 다항식이 주어지면, 실제 근과의 오차가 0.00050.0005 이내인 XX 값을 구하세요. 그 XX에 1,0001{,}000을 곱한 뒤, 반올림하지 않고 정수 부분만 잘라(0 방향으로 절삭하여) 출력합니다.

예를 들어 삼차식 1.5⋅x3−10=01.5 \cdot x^3 - 10 = 0을 생각해 봅시다. 이 식의 해는 x3=100/15=20/3=6.6666…x^3 = 100/15 = 20/3 = 6.6666\ldots을 만족하므로 x=1.88207…x = 1.88207\ldots이고, 따라서 정답은 18821882입니다.

다항식은 ∑i=0Dcoefi⋅xi\sum_{i=0}^{D} coef_i \cdot x^i이며, 여기서 xix^i는 xx의 ii제곱을 뜻합니다.

어떤 정답도 유효숫자 6자리를 넘지 않으며, 모든 정답은 배정밀도 부동소수점에서 0.00010.0001만큼 더해도 정밀도가 크게 손상되지 않을 만큼 작습니다.

힌트: 새로운 XX 추정값을 고를 때마다 탐색 구간이 줄어들도록 하세요.

입력

  • 첫째 줄: 정수 DD 하나.
  • 둘째 줄부터 D+2D+2째 줄까지: i+2i+2째 줄에 실수 coeficoef_i 하나 (i=0,1,…,Di = 0, 1, \ldots, D).

출력

  • 첫째 줄: 근에 가장 가까운 XX 값에 1,0001{,}000을 곱한 뒤 0 방향으로 절삭한 정수 하나.

예제3

  1. 예제 1

    입력
    3
    -10.0
    0.0
    0.0
    1.50
    
    예상 출력
    1882
    
  2. 예제 2

    입력
    1
    -1
    3
    
    예상 출력
    333
    
  3. 예제 3

    입력
    1
    1
    3
    
    예상 출력
    -333