Treat the transition from main to a subroutine (and visa versa) as immediate and a perfect fit. In other words, if you find that main is the most likely candidate to be paged out to make room for the subroutine, assume the system can remember what it is doing and let it page main out.
When the arrays are passed to a subroutine, assume that only their address is passed. The actual array does not have to be in physical memory until a command accesses it. This means in the add function, for the equation
TArray[i] = Array1[i] + Array[2]
Array1[i] is referenced first, then Array2[2] and then, after they are added, then TArray is referenced in order to store the result. So, if they are not already in physical memory, they will be paged in in that order.
Again all answers must be hand written. A printout will not be accepted.