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组(才俊)