#JP3. 检查头发(hair)
检查头发(hair)
题目背景
dl24jp的学生都非常优秀 他们秀外慧中 积极向上
学校为了让学生看上去更加精神抖擞 气质出众 会限制头发的长度并不定期检查
所以当你头发过长时 别忘了去剪头发
题目描述
dl24jp的老师们是这样检查头发长度的
他们会让 个学生站成一排 第 个学生的头发长度为 厘米
老师并不会检查单独一个同学的头发长度
而是检查相邻两个同学的头发长度之和
当相邻两个同学的头发长度之和超过了限制 厘米
那么这次检查头发便不合格
这样有些同学就需要剪掉一定长度的头发
现在班长想知道 同学们至少一共要剪掉多少厘米的头发 才能使检查合格
即使得任意相邻的两个同学的头发长度之和都不大于 厘米
由于答案可能很大 请你输出对998244353取模的结果
输入格式
输入的第一行是两个用空格隔开的整数,代表同学的个数 和给定的限制长度 。
第二行有 个用空格隔开的整数,第 个整数代表第 个同学的头发长度 。
输出格式
输出一行一个整数,代表至少要剪掉的头发数量。
对998244353取模
样例
3 4
3 2 3
1
6 1
1 4 1 2 0 4
9
5 9
3 1 4 1 5
0
样例 1 解释
第二位同学剪掉 厘米即可
样例 2 解释
第 2 个同学剪掉 厘米,第 4 个同学剪掉 厘米,第 6 个同学剪掉 厘米。
样例 3 解释
任何同学都不需要剪头发
数据规模与约定
- 对于 的数据,保证
- 对于另 的数据,保证
- 对于另 的数据,保证
- 对于 的数据,保证 ,。
提示
请留意本题时间限制与内存空间限制。
程序运行超时将导致部分测试点 TLE 而损失部分分,
数组开得太大将导致所有测试点 MLE 而损失所有分。
建议数组总长度不超过 (如 int a[10000][10000] / int a[100000000]
等定义将导致你获得 0 分的超高分)
本题使用文件输入输出!!!