All dynamic libraries it's linked with, program's code itself and all data and stack memory it allocates, AFAIK.
They are kilobytes, glibc is quite heavy. But then again, it's sure to be cached in RAM.
Well, if your distribution doesn't come with it, google for it..
Fields are: command, user time, system time, effective time, uid, gid, memory, io, time.
It's allocated memory, not accessed. I don't know how to measure accessed memory.
We don't Right now, it's "RE (other)" in spoj.
We might start to detect it sometime, but I personally don't like to mess with ptrace() and we would detach after loading libraries and allocating memory anyway.
I don't get your point, on my systems, chroot() doesn't give any additional privileges and unlink()ing is at least as hard without proper privileges as without it.
And yes, we have separate chroot or two (chroots for compilers) for all languages.
Input and output files are passed though pipes.