#1830. 寻找最大和

寻找最大和

好的,我来为你生成这个题目的测试数据。根据题目的描述,需要生成排列,所以可以利用 CYaRon 的 Vector 来生成排列。

由于数据规模较大,生成所有的数据比较耗时,因此我们分别生成 10 个测试点,重点在于覆盖不同数据范围,以及一些特殊情况。

代码如下:

from cyaron import *
import random

MOD = 10**9 + 7

for i in range(1, 11):
    io = IO(file_prefix='./data/data', data_id=i)

    # 设置不同的数据范围
    if i <= 3:
        n = randint(1, 20)
        m = randint(1, n)
    elif i <= 6:
        n = randint(1, 1000)
        m = randint(1, n)
    elif i == 7:  # n == m 的情况
        n = randint(1, 100000)
        m = n
    elif i == 8: # m == 1 的情况
        n = randint(1, 100000)
        m = 1
    else:
        n = randint(1, 100000)
        m = randint(1, n)

    io.input_writeln(n, m)
    p = Vector.random(n, [(1, n)], mode=0)  # 生成一个 1 到 n 的排列
    io.input_writeln(sum(p,[]))

    io.output_gen('std.exe')

这个脚本将生成 10 个测试用例,涵盖了小规模数据,中规模数据,以及 n == mm == 1 等特殊情况,希望能够比较全面地测试程序的性能。