#L0217. 符号变化计数

符号变化计数

题目描述

给定一个连续函数 ϕ(x)\phi(x),其零点 x0x_0 满足 ϕ(x0)=0\phi(x_0) = 0

> 零点存在定理
>
> 若 ϕ(a)ϕ(b)<0\phi(a) \cdot \phi(b) \lt 0,则在区间 (a,b)(a, b) 内,函数 ϕ(x)\phi(x) 至少存在一个零点。

已知 0N0 \sim N 范围内每个整数点 ww 的函数值 ϕ(w)\phi(w),利用零点存在定理,求在 (0,N)(0, N) 范围内 ϕ(x)\phi(x) 至少有多少个零点。

输入格式

输入共两行。

第一行一个整数 NN

第二行 N+1N+1 个整数,依次为 ϕ(0),ϕ(1),,ϕ(N)\phi(0), \phi(1), \cdots, \phi(N)

保证第二行中所有数据不为 00

输出格式

输出一行一个整数,表示在 (0,N)(0, N)ϕ(x)\phi(x) 至少有多少个零点。

样例

5
-2 1 3 -2 1 2
3

提示

样例 1 说明

$\phi(0) = -2, \phi(1) = 1, \phi(2) = 3, \phi(3) = -2, \phi(4) = 1, \phi(5) = 2$。

  • ϕ(0)×ϕ(1)=2<0\phi(0) \times \phi(1) = -2 \lt 0,区间 (0,1)(0, 1) 至少有一个零点。
  • ϕ(1)×ϕ(2)=3>0\phi(1) \times \phi(2) = 3 \gt 0,无法确定。
  • ϕ(2)×ϕ(3)=6<0\phi(2) \times \phi(3) = -6 \lt 0,区间 (2,3)(2, 3) 至少有一个零点。
  • ϕ(3)×ϕ(4)=2<0\phi(3) \times \phi(4) = -2 \lt 0,区间 (3,4)(3, 4) 至少有一个零点。
  • ϕ(4)×ϕ(5)=2>0\phi(4) \times \phi(5) = 2 \gt 0,无法确定。

故至少有 33 个零点。

数据规模与约定

  • 对于 30%30\% 的数据,1N50001 \le N \le 5000ϕ(i){1,1}\phi(i) \in \{-1, 1\}
  • 对于 100%100\% 的数据,1N1051 \le N \le 10^50<ϕ(i)1090 \lt |\phi(i)| \le 10^9
难度 入门
通过率
尝试 0
已通过 0
ID
945
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者