#350. 加工生产调度

加工生产调度

题目描述

某工厂收到了 n\red{n} 个产品的订单,这 n\red{n} 个产品分别在 AB\red{A、B} 两个车间加工,并且必须先在A\red{ A} 车间加工后才可以到 B\red{B }车间加工。

某个产品 i\red{i}AB\red{A,B} 两车间加工的时间分别为 Ai,Bi\red{A_i, B_i}。怎样安排这 n\red{n} 个产品的加工顺序,才能使总的加工时间最短。

这里所说的加工时间是指:从开始加工第一个产品到最后所有的产品都已在 AB\red{A,B} 两车间加工完毕的时间。

输入格式

第一行仅—个数据 n\red{n} ,表示产品的数量;

接下来 n\red{n} 个数据是表示这 n\red{n} 个产品在 A\red{A }车间加工各自所要的时间;

最后的 n\red{n} 个数据是表示这 n\red{n} 个产品在 B\red{B }车间加工各自所要的时间。

输出格式

第一行一个数据,表示最少的加工时间;

第二行是一种最小加工时间的加工顺序。

样例

输入样例

5
3 5 8 7 10
6 2 1 4 9

输出样例

34
1 5 4 2 3

提示

对于 100%\red{100\%}的数据, 0<n<1000,1Ai,Bi350\red{0<n<1000,1\le A_i,B_i\le 350}

本题的 SPJ 对行尾多余空格敏感,各位输出答案时不要留行尾多余空格