安排机位入座顺序使能力值总和最大
又到周末了,同学们陆陆续续来到机房上机。jbr到的有点晚,发现有些机位已有人,有些空着。细心的jbr发现:
- 一位同学坐在机位i上,若坐下时左右都空,获得能力值a[i];
- 若坐下时左右恰好1个有人,获得能力值b[i];
- 若坐下时左右都有人,获得能力值c[i];
- 已经上机的同学能力值不会变化;
- 第一个机位无左邻、最后一个机位无右邻,无论何时坐下无法获得c值。
现有一排N个空机位(编号1~N)、N位同学,需安排同学们的入座位置顺序,使总能力值最大。
输入
第一行:整数N(1≤N≤10000) 第二行:N个整数a[1],a[2],...,a[N] 第三行:N个整数b[1],b[2],...,b[N] 第四行:N个整数c[1],c[2],...,c[N] (1≤a[i],b[i],c[i]≤10000)
输出
一个整数,表示最大的能力值总和
样例输入
4
1 2 2 4
4 3 3 1
2 1 1 2
样例输出
14
提示
最优顺序:4→3→2→1,能力值分别为a[4]=4、b[3]=3、b[2]=3、b[1]=4,总和14。
本题为编程题,提交代码并运行通过测试点后判分。
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析