1 #include <algorithm>
2 #include <cstdio>
3
4 using namespace std;
5
6 const int N(119);
7 int n,ans,max_tim,got[N],f[N];
8 struct Node
9 {
10 int val,tim;
11 }mouse[N];
12 bool cmp(Node a,Node b)
13 {
14 return a.tim<b.tim;
15 }
16
17 int main()
18 {
19 scanf("%d",&n);
20 for(int i=1;i<=n;i++)
21 scanf("%d",&mouse[i].tim),max_tim=max(max_tim,mouse[i].tim);
22 for(int i=1;i<=n;i++) scanf("%d",&mouse[i].val);
23 sort(mouse+1,mouse+n+1,cmp);
24 for(int i=1;i<=n;i++)
25 for(int j=mouse[i].tim;j>0;j--)
26 f[j]=max(f[j],f[j-1]+mouse[i].val);
27 for(int i=1;i<=max_tim;i++) ans=max(ans,f[i]);
28 printf("%d",ans);
29 return 0;
30 }