#542. Lazy Sort
Lazy Sort
Lazy Sort
题目描述
农夫约翰有 头奶牛(),并试图利用它们的懒惰来把一个长度为 的非负整数数组 排序。他有很多沉重的箱子,于是让奶牛排成一列,奶牛 在奶牛 的后面,并给第 头奶牛 个箱子()。
奶牛天生很懒,所以它们总想把工作推给别人。从奶牛 到 依次进行,每头奶牛都会看向它后面的那头。如果奶牛 的箱子数严格多于奶牛 ,奶牛 认为这“不公平”,并把自己的一个箱子给奶牛 。这个过程不断重复,直到每头奶牛都满意为止。
随后,农夫约翰会记录每头奶牛 手中持有的箱子数 ,并用这些值构造数组 。如果 ,那么农夫约翰就会高兴。不幸的是,农夫约翰在数组 中只记得 个值()。幸运的是,这些值包括他原本要给第一头和最后一头奶牛的箱子数。农夫约翰记得的每个值以 的形式给出,表示 (, )。请计算有多少种不同的方式可以填补缺失的值,使得他会高兴,并对 取模。
输入格式
第一行包含两个用空格分隔的整数 和 ,分别表示奶牛数量和给定信息(查询)数量。
接下来的 行每行包含两个用空格分隔的整数 ,表示奶牛 初始持有 个箱子。保证 、,且 (奶牛编号严格递增)。
输出格式
输出一个整数:满足奶牛进行懒惰排序后农夫约翰会高兴的情况下, 的不同赋值方式数量,对 取模。保证至少存在一种合法赋值。
3 2
1 3
3 2
2
6 3
1 1
3 3
6 5
89
提示
在这个例子中,农夫约翰记得数组两端的值。数组 和 是能让农夫约翰在懒惰排序结束时高兴的合法数组。
SCORING: Inputs 3-4: Inputs 5-6: and Inputs 7-9: and Inputs 10-12: Inputs 13-15: No additional constraints. Problem credits: Suhas Nagar
标签: USACO|2025|Platinum
来源
USACO|2025|Platinum