// ROOT : DRAGON3012009 : Wa In Real Life
#include <bits/stdc++.h>
#define ll long long
#define el "\n"
#define _ROOT_ int main()
#define FOR(i,l,r) for(int i = l ; i <= r ; i ++)
#define FORD(i,r,l) for(int i = r ; i >= l ; i --)
#define REP(i, a ) for(int i = 0 ; i < a ; i ++ )
#define fi first
#define se second
#define M 1000000007
#define MAXN 1000001
#define INF (1ll<<60)
#define NAME "file"
#define debug(a) cerr << #a << " = " << a << endl ;
#define compare(v) sort((v).begin(), (v).end()); (v).erase(unique((v).begin(), (v).end()), (v).end());
using namespace std;
const ll MOD[] = {(ll)1e9 + 2277, (ll)1e9 + 5277, (ll)1e9 + 8277, (ll)1e9 + 9277, (ll) 1e9 + 7 };
const ll NMOD = 1;
ll n, q ;
ll a[MAXN ] ;
ll c[MAXN ] ;
ll cost[MAXN][2] ;
ll dp[MAXN][2] ;
ll deg[MAXN ] ;
bool used[MAXN ] ;
void init()
{
cin >> n ;
FOR(i, 1, n ) cin >> a[i], deg[a[i]] ++ ;
FOR(i, 1, n ) cin >> c[i] ;
}
void solve()
{
ll ans = 0 ;
FOR(i, 0, n ) FOR(j, 0, 1 ) dp[i][j] = cost[i][j] = INF ;
FOR(i, 1, n ) cost[i][0] = 0, cost[i][1] = (a[i] == i ? 0 : c[i]) ;
queue<ll> q ;
FOR(i, 1, n ) if(deg[i] == 0 ) q.push(i) ;
while(!q.empty() )
{
ll u = q.front() ; q.pop() ;
used[u] = true ;
ll v = a[u] ;
cost[v][0] += cost[u][1] ;
cost[v][1] += min(cost[u][1], cost[u][0]) ;
if(-- deg[v] == 0 ) q.push(v) ;
}
FOR(i, 1, n )
{
if(used[i] ) continue ;
vector<ll> cycle ;
ll u = i ;
while(!used[u])
{
cycle.push_back(u) ;
used[u] = true ;
u = a[u] ;
}
// cout << " daw da" << el ;
ll k = cycle.size() ;
if(k == 1 )
{
ans += cost[cycle[0]][1] ;
continue ;
}
dp[cycle[0]][0] = cost[cycle[0]][0] ;
dp[cycle[0]][1] = INF ;
FOR(i, 1, k - 1 )
{
dp[cycle[i]][0] = dp[cycle[i - 1 ]][1] + cost[cycle[i]][0] ;
dp[cycle[i]][1] = min(dp[cycle[i- 1]][0], dp[cycle[i - 1]][1]) + cost[cycle[i]][1] ;
}
// ll add = min(dp[cycle[k - 1]][0], dp[cycle[k - 1]][1] ) ;
ll add = dp[cycle[k-1]][1] ; // Vii bat dau = 0
dp[cycle[0]][0] = INF ;
dp[cycle[0]][1] = cost[cycle[0]][1] ;
FOR(i, 1, k - 1 )
{
dp[cycle[i]][0] = dp[cycle[i - 1 ]][1] + cost[cycle[i]][0] ;
dp[cycle[i]][1] = min(dp[cycle[i- 1]][0], dp[cycle[i - 1]][1]) + cost[cycle[i]][1] ;
}
add = min(add, min(dp[cycle[k - 1]][0], dp[cycle[k - 1]][1] )) ;
ans += add ;
}
cout << ans << el ;
}
_ROOT_
{
// freopen(NAME".inp" , "r" , stdin);
// freopen(NAME".out" , "w", stdout) ;
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t = 1; // cin >> t ;
while(t--)
{
init();
solve();
}
return (0&0);
}
Ly8gUk9PVCA6IERSQUdPTjMwMTIwMDkgOiBXYSBJbiBSZWFsIExpZmUKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZWwgIlxuIgojZGVmaW5lIF9ST09UXyBpbnQgbWFpbigpCiNkZWZpbmUgRk9SKGksbCxyKSBmb3IoaW50IGkgPSBsIDsgaSA8PSByIDsgaSArKykKI2RlZmluZSBGT1JEKGkscixsKSBmb3IoaW50IGkgPSByIDsgaSA+PSBsIDsgaSAtLSkKI2RlZmluZSBSRVAoaSwgYSApIGZvcihpbnQgaSA9IDAgOyBpIDwgYSA7IGkgKysgKQojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgTSAxMDAwMDAwMDA3CiNkZWZpbmUgTUFYTiAxMDAwMDAxCiNkZWZpbmUgSU5GICgxbGw8PDYwKQojZGVmaW5lIE5BTUUgImZpbGUiCiNkZWZpbmUgZGVidWcoYSkgY2VyciA8PCAjYSA8PCAiID0gIiA8PCBhIDw8IGVuZGwgOwojZGVmaW5lIGNvbXBhcmUodikgc29ydCgodikuYmVnaW4oKSwgKHYpLmVuZCgpKTsgKHYpLmVyYXNlKHVuaXF1ZSgodikuYmVnaW4oKSwgKHYpLmVuZCgpKSwgKHYpLmVuZCgpKTsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgbGwgTU9EW10gPSB7KGxsKTFlOSArIDIyNzcsIChsbCkxZTkgKyA1Mjc3LCAobGwpMWU5ICsgODI3NywgKGxsKTFlOSArIDkyNzcsIChsbCkgMWU5ICsgNyB9Owpjb25zdCBsbCBOTU9EID0gMTsKCmxsIG4sIHEgOwpsbCBhW01BWE4gXSA7CmxsIGNbTUFYTiBdIDsKbGwgY29zdFtNQVhOXVsyXSA7CmxsIGRwW01BWE5dWzJdIDsKbGwgZGVnW01BWE4gXSA7CmJvb2wgdXNlZFtNQVhOIF0gOwoKdm9pZCBpbml0KCkKewogICAgY2luID4+IG4gOwogICAgRk9SKGksIDEsIG4gKSBjaW4gPj4gYVtpXSwgZGVnW2FbaV1dICsrIDsKICAgIEZPUihpLCAxLCBuICkgY2luID4+IGNbaV0gOwp9Cgp2b2lkIHNvbHZlKCkKewogICAgbGwgYW5zID0gMCA7CiAgICBGT1IoaSwgMCwgbiApIEZPUihqLCAwLCAxICkgZHBbaV1bal0gPSBjb3N0W2ldW2pdID0gSU5GIDsKICAgIEZPUihpLCAxLCBuICkgY29zdFtpXVswXSA9IDAsIGNvc3RbaV1bMV0gPSAoYVtpXSA9PSBpID8gMCA6IGNbaV0pIDsKICAgIHF1ZXVlPGxsPiBxIDsKCiAgICBGT1IoaSwgMSwgbiApIGlmKGRlZ1tpXSA9PSAwICkgcS5wdXNoKGkpIDsKCiAgICB3aGlsZSghcS5lbXB0eSgpICkKICAgIHsKICAgICAgICBsbCB1ID0gcS5mcm9udCgpIDsgcS5wb3AoKSA7CiAgICAgICAgdXNlZFt1XSA9IHRydWUgOwogICAgICAgIGxsIHYgPSBhW3VdIDsKICAgICAgICBjb3N0W3ZdWzBdICs9IGNvc3RbdV1bMV0gOwogICAgICAgIGNvc3Rbdl1bMV0gKz0gbWluKGNvc3RbdV1bMV0sIGNvc3RbdV1bMF0pIDsKICAgICAgICBpZigtLSBkZWdbdl0gPT0gMCApIHEucHVzaCh2KSA7CiAgICB9CgogICAgRk9SKGksIDEsIG4gKQogICAgewogICAgICAgIGlmKHVzZWRbaV0gKSBjb250aW51ZSA7CiAgICAgICAgdmVjdG9yPGxsPiBjeWNsZSA7CiAgICAgICAgbGwgdSA9IGkgOwogICAgICAgIHdoaWxlKCF1c2VkW3VdKQogICAgICAgIHsKICAgICAgICAgICAgY3ljbGUucHVzaF9iYWNrKHUpIDsKICAgICAgICAgICAgdXNlZFt1XSA9IHRydWUgOwogICAgICAgICAgICB1ID0gYVt1XSA7CiAgICAgICAgfQovLyAgICAgICAgY291dCA8PCAiIGRhdyBkYSIgPDwgZWwgOwogICAgICAgIGxsIGsgPSBjeWNsZS5zaXplKCkgOwoKICAgICAgICBpZihrID09IDEgKQogICAgICAgIHsKICAgICAgICAgICAgYW5zICs9IGNvc3RbY3ljbGVbMF1dWzFdIDsKICAgICAgICAgICAgY29udGludWUgOwogICAgICAgIH0KCiAgICAgICAgZHBbY3ljbGVbMF1dWzBdID0gY29zdFtjeWNsZVswXV1bMF0gOwogICAgICAgIGRwW2N5Y2xlWzBdXVsxXSA9IElORiA7CiAgICAgICAgRk9SKGksIDEsIGsgLSAxICkKICAgICAgICB7CiAgICAgICAgICAgIGRwW2N5Y2xlW2ldXVswXSA9IGRwW2N5Y2xlW2kgLSAxIF1dWzFdICsgY29zdFtjeWNsZVtpXV1bMF0gOwogICAgICAgICAgICBkcFtjeWNsZVtpXV1bMV0gPSBtaW4oZHBbY3ljbGVbaS0gMV1dWzBdLCBkcFtjeWNsZVtpIC0gMV1dWzFdKSArIGNvc3RbY3ljbGVbaV1dWzFdIDsKICAgICAgICB9Ci8vICAgICAgICBsbCBhZGQgPSBtaW4oZHBbY3ljbGVbayAtIDFdXVswXSwgZHBbY3ljbGVbayAtIDFdXVsxXSApIDsKICAgICAgICBsbCBhZGQgPSBkcFtjeWNsZVtrLTFdXVsxXSA7IC8vIFZpaSBiYXQgZGF1ID0gMAogICAgICAgIGRwW2N5Y2xlWzBdXVswXSA9IElORiA7CiAgICAgICAgZHBbY3ljbGVbMF1dWzFdID0gY29zdFtjeWNsZVswXV1bMV0gOwogICAgICAgIEZPUihpLCAxLCBrIC0gMSApCiAgICAgICAgewogICAgICAgICAgICBkcFtjeWNsZVtpXV1bMF0gPSBkcFtjeWNsZVtpIC0gMSBdXVsxXSArIGNvc3RbY3ljbGVbaV1dWzBdIDsKICAgICAgICAgICAgZHBbY3ljbGVbaV1dWzFdID0gbWluKGRwW2N5Y2xlW2ktIDFdXVswXSwgZHBbY3ljbGVbaSAtIDFdXVsxXSkgKyBjb3N0W2N5Y2xlW2ldXVsxXSA7CiAgICAgICAgfQogICAgICAgIGFkZCA9IG1pbihhZGQsIG1pbihkcFtjeWNsZVtrIC0gMV1dWzBdLCBkcFtjeWNsZVtrIC0gMV1dWzFdICkpIDsKICAgICAgICBhbnMgKz0gYWRkIDsKICAgIH0KICAgIGNvdXQgPDwgYW5zIDw8IGVsIDsKfQoKX1JPT1RfCnsKICAgIC8vIGZyZW9wZW4oTkFNRSIuaW5wIiAsICJyIiAsIHN0ZGluKTsKICAgIC8vIGZyZW9wZW4oTkFNRSIub3V0IiAsICJ3Iiwgc3Rkb3V0KSA7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsKICAgIGNvdXQudGllKDApOwogICAgaW50IHQgPSAxOyAvLyBjaW4gPj4gdCA7CiAgICB3aGlsZSh0LS0pCiAgICB7CiAgICAgICAgaW5pdCgpOwogICAgICAgIHNvbHZlKCk7CiAgICB9CiAgICByZXR1cm4gKDAmMCk7Cn0K