#seg19. 2026提高组模拟赛19-T3 完整段
2026提高组模拟赛19-T3 完整段
【文件读写】本题使用文件读写:输入文件
seg19.in,输出文件seg19.out。
时间限制:1000ms 内存限制:512MB
| 项目 | 内容 |
|---|---|
| 输入文件名 | seg19.in |
| 输出文件名 | seg19.out |
| 可执行文件名 | seg19 |
| 每个测试点时限 | 1.0 秒 |
| 内存限制 | 512 MiB |
| 测试点数目 | 20 |
| 是否等分 | 是 |
结果比较方式为全文比较(过滤行末空格及文末换行)。
题目描述
档案馆把编号为 的卷宗按某种次序摆成一排,位置 上摆放的卷宗编号记为 。编号 恰好各出现一次,也就是说 是 的一个排列。
档案员把一段连续的位置 ()称为一个完整段,如果这段位置里所有卷宗编号的最大值与最小值之差恰好等于段长减一,即 $\max\limits_{i\in[l,r]} p_i-\min\limits_{i\in[l,r]} p_i=r-l$。这等价于说,这段位置里出现的编号恰好构成一段连续的整数。
除了编号的完整性,档案员还关心一段连续位置里的编号之和,记 。
给定一个阈值 ,档案员想统计一共有多少段连续位置 同时满足以下两个条件:
- 条件一: 是完整段;
- 条件二:编号和 不小于 。
输入格式
从文件 seg.in 中读入数据。
- 第一行两个整数 ;
- 第二行 个整数 ,表示位置 到 上的卷宗编号。
输出格式
输出到文件 seg.out 中。
输出一行一个整数,表示同时满足两个条件的连续位置段的个数。
样例
样例 1 输入
4 3
3 1 2 4
样例 1 输出
5
样例 1 解释
逐段核对两个条件。长度 1:(编号 ,和 )、(编号 ,和 )满足,(和 )、(和 )编号和不足。长度 2:(编号 ,和 )满足,、 内编号不构成连续整数。长度 3:(编号 ,和 )满足,(编号 )不构成连续整数。长度 4:(编号 ,和 )满足。合计 段。
样例 2 输入
4 6
3 1 2 4
样例 2 输出
2
样例 2 解释
排列与样例 1 相同,仅将 提高到 。此时长度 1 的段编号和至多 ,全部被过滤;满足两个条件的只剩 (和 )与 (和 ),共 段。
样例 3 输入
4 5
1 2 4 3
样例 3 输出
3
样例 3 解释
时,(编号 )是完整段但编号和 不足;(编号 )编号和 足够但内编号不构成连续整数,两类都只满足一个条件,均不计入。同时满足两个条件的是 (编号 ,和 )、(编号 ,和 )、(编号 ,和 ),共 段。
数据范围
对于所有测试数据,保证:
- ;
- ;
- 是 的一个排列。
各测试点的约束如下:
| 测试点 | 特殊性质 | |
|---|---|---|
| 无 | ||
| A | ||
| B | ||
| 无 |
- 特殊性质 A:。
- 特殊性质 B:任意完整段的长度都不超过 。
- ID
- 709
- 类型
- 传统题
- Time Limit
- 1000ms
- Memory Limit
- 512MiB
- 上传者
相关
在下列比赛中: