问题4529--看护鱼塘(N<=20)4529: 看护鱼塘(N<=20)
时间限制: 1 Sec 内存限制: 512 MB
提交: 0 解决: 0
[提交] [状态] [讨论版] [命题人:]题目描述
这天晚上,约翰做了个奇怪的美梦。他拥有了分别分布在N座高高低低的山上的N个池塘,N座山连成一条直线,从左往右第i座山的高度是Hi。池塘中的鱼都是他请专家运用科学的方法专门养殖的,为了保护每个池塘的生态环境,他现在要在这N座山上建造若干个看护点。约翰是个很节约的人,在第i座山建造看护点的花费为Ci。假设在第i座山建造一个看护点,则往左或者往右第一座不比这座山低的山将挡住看护的视线(相等时能看到第一个)。譬如说:
{Hi} = {1 4 4 5 7 2}表示第一座山高度为1,第二座山高度为4。。。
如果在第1座山建造一个看护点,则可以看护第1,2两个池塘。如果在第5座山上建造一个看护点,则左右的池塘都能被看护到。如果在第3座山上建造一个看护点,则能够看护到第2,3,4个池塘。
又比如:{Hi} = {1 4 4 2 4 2}第5座山往左能看到第4、第3座山,往右能看到第6座山。
要求能够看护到所有的池塘,建造看护点的最小代价是多少。即建造看护点的山对应的花费Ci之和最小。
输入
第一行包含一个正整数N,N满足1<=N<=20。
第二行包含N个正整数,第i个正整数Hi满足1<=Hi<=100,表示第i座山的高度
第三行包含N个正整数,第i个正整数Ci满足1<=Ci<=100,表示在第i座山建造看护点的代价为Ci
输出
一行包含一个正整数C,表示最小的代价。
样例输入
例1
3
1 1 1
2 2 2
样例2:
5
2 1 4 5 3
2 4 1 6 3
样例输出
(1)
2
样例说明:选取中间的一个点,可以看到两边的,代价是2
(2)
4
来源/分类
[提交] [状态]