SP4560 ANARC05B - The Double HeLiX

题目描述

给定两个有限的、严格递增的整数序列。两个序列中共有的整数被称为交点。例如,下面两个序列中的交点用粗体表示: - 第一个序列:3 5 **7** 9 20 **25** 30 40 **55** 56 **57** 60 62 - 第二个序列:1 4 **7** 11 14 **25** 44 47 **55** **57** 100 你可以按以下规则在两个序列上“行走”: 1. 你可以从任意一个序列的第一个元素开始行走,并向前移动。 2. 当到达一个交点时,你可以选择继续沿当前序列行走,或切换到另一个序列。 目标是找出一条路径,使得你经过的整数之和达到最大。在上述例子中,最大和为 450,计算方式为将 3, 5, 7, 9, 20, 25, 44, 47, 55, 56, 57, 60 和 62 相加。

输入格式

程序将处理多个测试用例。每个测试用例由两行构成,每行表示一个序列,格式如下: `n v1 v2 ... vn` 其中 $n$ 是序列的长度,$v_i$ 是该序列中的第 $i$ 个元素。每个序列至少有一个元素,但不超过 10,000 个元素。所有的元素范围在 -10,000 到 10,000 之间(包含边界)。输入的最后一行是一个单独的 0,这并不属于任何一个测试用例。

输出格式

对于每个测试用例,输出一行,表示能够达到的最大可能的和。 **本翻译由 AI 自动生成**