Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:1 s 空间限制:256 MB

#4916. 最小惩罚

统计

题目描述

假期已经结束,然而你的作业还有很多没完成,有 n 个作业已经超过截止日期了。你完成第 i 个作业需要 ai 单位时间。从 0 时刻开始, 你可以选择某项作业,完成它,然后再开始另 一项作业,如此往复直到所有作业都被完成。

由于已经超过截止日期,你会为此受到一定的惩罚,惩罚值等于所有作业完成时刻之和。例如,有 2 个作业分别需要 10 和 20 单位时间完成。    如果先完成作业1,惩罚值为 10 + 30 = 40;如果先完成作业2,惩罚值为 20 + 30 = 50。

 你当然希望受到的惩罚越小越好,请你你求出惩罚值最小的完成作业的顺序。

输入格式

两个整数 n, R1,表示作业的数量和生成数列的首项。处理作业 i (1 i  n) 的时间 ai = (Ri mod 100) + 1。
试题中使用的生成数列 R 定义如下:整数 0 ≤ R1 < 20170 在输入中给出。对于 i > 1,Ri = (Ri−1 × 6807 + 2831) mod 201701。

输出格式

一个整数,表示完成所有任务的最小惩罚值。

样例数据

input

10 2

output

1641

数据规模

1 ≤ n ≤ 1000