Warnings
- Time and Space: Submitted programs must be reasonably efficient; limits on
execution time, elapsed time, and memory usage are in effect.
Exceeding any of the preset limits
will cause an immediate fatal error which will be reported
to you.
- Illegal Operations: Programs must not attempt to open any files, or sockets or
pipes, allocate shared memory, or in general do anything
that could enable communication with another process
or anything else. The standard input and output streams
will be already open, and they are all you will need and
all you will be permitted to use.
A list of permitted functions will be posted at some
point in the near-ish future. Until then you will have
to make sensible assumptions about what is permitted.
As a general rule, any function that attempts to open
a file, pipe, or socket, or creates a process, or
modifies actions taken on receiving a signal, will
kill your program.
- Microsoft: Be warned that the Microsoft compiler
is incorrect. The judge uses a correct compiler. You must
follow the ISO C++ standard for the scope of control
variables declared inside a for statement.
The following is correct, but rejected by the microsoft compiler:
{ for (int i=0; i<10; i+=1) cout<<i;
for (int i=10; i>0; i-=1) cout<<i; }
The following is incorrect, but accepted by the microsoft compiler:
{ for (int i=0; i<10; i+=1) cout<<i;
for (i=10; i>0; i-=1) cout<<i; }