4987:信号分析
文件提交:无需freopen
内存限制:512 MB
时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
提交:1
解决:0
题目描述
# 信号分析
## 题目描述
某通信系统持续记录二进制信号,每个信号包含:
- 该信号出现的精确的时间,该时间表示是从系统启动后的第几秒记录到的该信号,所有信号记录到的时间都是**互不相同**的。
- 信号值 $0$ 或 $1$ 。
工程师需要**按时间从早到晚的顺序**,从所有的信号中,找到**一段连续的信号记录**,要求该段记录中 $0$ 和 $1$ 的出现次数完全相等。定义信号的时间跨度为:这段连续信号记录最后信号出现的时间减去第一个信号出现的时间。
请你编程找出所有满足条件的记录段中,时间跨度最大的值。若不存在,返回 $0$ 。
## 输入格式
第一行为整数 $N$ ,表示信号个数。
接下来为 $N$ 行。每行两个数 $a,b$ 。 $a$ 代表信号值,值为 $0$ 或 $1$ , $b$ 代表信号出现的时间,用空格隔开。
## 输出格式
输出满足条件的最大时间跨度。
## 样例
### 样例输入 1
```text
6
1 100
0 105
1 108
0 112
1 115
0 120
```
### 样例输出 1
```text
20
```
### 样例输入 2
```text
7
0 11
1 10
1 25
1 12
1 4
0 13
1 22
```
### 样例输出 2
```text
11
```
### 样例输入 3
```text
5
1 10
1 9
1 8
1 7
1 6
```
### 样例输出 3
```text
0
```
## 说明/提示
样例 $1$ 解释
从时刻 $100$ 到 时刻 $120$ ,包含 $3$ 个 信号 $1$ 和 $3$ 个信号 $0$ ,出现次数相同,所以符合要求,最大时间跨度为 $120 - 100 = 20$ 。
数据规模
对于 $40\%$ 的数据,满足 $1 \le N \le 1000$ 。
对于 $100\%$ 的数据,满足 $1 \le N \le 50,000$ , $0 \le b \le 10^9$ 。
---
**题目来源:** 25年4月-B组(才俊)