#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 == m
和 m == 1
等特殊情况,希望能够比较全面地测试程序的性能。