#P11131. [USACO2025 Open]Lazy Sort P
[USACO2025 Open]Lazy Sort P
题目描述
Farmer John 养了 ()头牛,他想利用这些牛的懒惰天性来排序一个长度为 的非负整数数组 。他手头有许多沉重的箱子,于是他把牛排成一列,从前往后依次编号为 到 ,其中第 头牛站在第 头牛后面,然后给第 头牛分配 ()个箱子。
牛天生懒惰,总想把活儿推给别人。从第 头牛到第 头牛,每头牛都会回头看看身后的牛。如果第 头牛的箱子数量严格多于第 头牛,它会觉得这不公平,于是把自己的一只箱子递给后面的牛。这个过程会一直重复,直到每头牛都满意为止。
之后,Farmer John 会记录每头牛 最终持有的箱子数量 ,并以此组成数组 。如果 ,也就是数组 的升序排列,Farmer John 就会很开心。可惜的是,他只记得数组 中的 ()个值,不过幸运的是,这些值包括他打算给第一头牛和最后一头牛的箱子数量。他记得的每个值以 的形式给出,表示 (,)。请你帮他计算,有多少种不同的方法可以填入缺失的值,使得懒牛排序后他会开心,结果对 取模。
输入格式
第一行包含两个空格分隔的整数 和 ,分别表示牛的数量和已知值的数量。
接下来的 行,每行包含两个空格分隔的整数 ,表示第 头牛最初持有 个箱子。保证 ,,且 (牛的编号严格递增)。
输出格式
输出一个整数,表示在懒牛排序后能让 Farmer John 开心的不同赋值方式数量,对 取模。保证至少存在一种有效赋值。
3 2
1 3
3 2
2
6 3
1 1
3 3
6 5
89
测试点性质
- 测试点 3-4: 。
- 测试点 5-6: 且 。
- 测试点 7-9: 且 .
- 测试点 10-12: 。
- 测试点 13-15: 没有额外限制。
供题:Suhas Nagar