POLEVAL - Evaluate the polynomial

no tags 

Your task consists of evaluate a polynomial of degree n (0 <= n <= 999) represented by its n+1 coefficients of the form:

pn(x) = cnxn + cn-1xn-1 + … + c2x2 + c1x + c0

in each one of the k (1 <= k <= 100) points x1, x2, …, xk. The coefficients of the polynomial and the values where they will be evaluated are integers in the interval [-100, 100] that guarantees that the polynomial's evaluation is at the most 263 – 1.

Input

There will be multiple test cases, each one with 4 lines that are described below
n: degree of polynomial.
cn cn-1 … c2 c1 c0: coefficients of the polynomial separated by a single space.
k: number of points to evaluate the polynomial.
x1 x2 xk-1 xk: points to evaluate the polynomial separated by a single space.

The final test case is a single line where n = -1 and this case should not be processed.

Output

For each test case you should print k + 1 lines of output, the very first line containing the case number and the following k lines with the result of the polynomial's evaluation in each one of the k given points. See the sample.

Example

Input:
2
1 -2 -1
5
0 1 -1 2 -2
3
2 1 -2 -1
4
0 -1 2 -2
-1
Output: Case 1:
-1
-2
2
-1
7
Case 2:
-1
0
15
-9

hide comments
wrzoboo: 2018-07-09 12:19:12

Basically unsolvable with Python3, Horner + optimization = TLE

prabhat236218: 2017-11-30 18:00:10

simple implement

Last edit: 2017-11-30 18:01:25
kaushalag29: 2017-05-18 19:51:09

AC in one GO
Without Horner!!

ajeetk_973: 2017-04-07 11:02:35

implement horner & get AC

nilabja16180: 2017-04-05 09:44:40

Naive approach works fine, AC in ONE GO!

anurag_lal1: 2017-01-08 08:18:07

Using Naive approach got TLE but AC using Horner's method :)

rahadiankputra: 2016-10-02 07:50:24

Simple yet very, very beautiful problem :D

vineetpratik: 2016-06-22 10:13:48

if you get TLE ,
google "Horner’s Method"

Pawe³ Tarasiuk: 2016-05-28 22:58:07

Got AC, wanted to give this task to students, but there seems to be a problem with the constraints.

How do coefficients and values from [-100, 100] guarantee the result to be at most (2**63)-1? For larger (say, >100) polynomial degrees it is kinda guaranteed to overflow for any x other than -1, 0 or 1. Do I miss something here?

=(Francky)=> You can expand polynomials like P(X) = (X-7)(X-12)(X+13)...(X-4) you'll keep not so big P(x) for small x, say |x|<100. It's a possibility... I agree that the description is very poor.

Last edit: 2016-05-29 12:39:02
ash_hacker: 2016-03-24 12:22:05

Done with naive approach, didn't calculated each exponent individually, just multiply x progressively to get each exponent.


Added by:Ivan Alfonso Olamendy
Date:2007-08-25
Time limit:0.462s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: C99 ERL JS-RHINO NODEJS PERL6 VB.NET
Resource:My own resource