#include #include "testlib.h" using namespace std; using ll = long long; const int N_MIN = 2; const int N_MAX = 200'000; const int A_MIN = 1; const int A_MAX = 1'000'000'000; int main(int argc, char** argv) { registerValidation(argc, argv); int n = inf.readInt(N_MIN, N_MAX); // A の読み取り vector a = inf.readInts(n, A_MIN, A_MAX); inf.readEoln(); // B の読み取り for(int i = 1; i < n; i++) { int b = inf.readInt(1, a[i]); if (i != n-1) inf.readSpace(); } inf.readEoln(); // C の読み取り vector c(n); for(int i = 1; i < n; i++) { c[i] = inf.readInt(1, A_MAX); if (i != n-1) inf.readSpace(); } inf.readEoln(); // P の読み取り vector p(n); for(int i = 1; i < n; i++) { p[i] = inf.readInt(1, i); if (i != n-1) inf.readSpace(); } inf.readEoln(); inf.readEof(); for(int i = 1; i < n; i++) { assert(c[i] <= a[p[i]-1]); } }