fasjaweasc
New Coder
Hi! Can someone translate this code from c++ to php?
C++:
#include <cstdio>
#include <algorithm>
#define REP(a,n) for (int a=0; a<(n); ++a)
using namespace std;
#define INF 1000000000
typedef long long LL;
///////////////////////////
#define MAXN 1000000
int wagi[MAXN];
int orig[MAXN];
int perm[MAXN];
bool vis[MAXN];
int minw = INF;
int main()
{
int N;
scanf("%d", &N);
REP(a, N)
{
scanf("%d", &wagi[a]);
minw = min(minw, wagi[a]);
}
REP(a, N)
{
scanf("%d", &orig[a]);
--orig[a];
}
REP(a, N)
{
int nr;
scanf("%d", &nr);
--nr;
perm[nr] = orig[a];
}
LL wynik = 0;
REP(pocz, N)
if (!vis[pocz])
{
int minc = INF;
LL suma = 0;
int cur = pocz;
int dl = 0;
for (;;)
{
minc = min(minc, wagi[cur]);
suma += wagi[cur];
cur = perm[cur];
vis[cur] = true;
++dl;
if (cur==pocz)
break;
}
wynik += min(suma+(dl-2)*(LL)minc, suma+minc+(dl+1)*(LL)minw);
}
printf("%Ld\n", wynik);
}