JOIN
Get Time
hs_support_faqs  General FAQ
General FAQ



Do you really think this is a good way to measure the relative merit of programmers?
Who owns the source code that I write during tournaments?
How does the rating system work?
I'm having a problem with font properties on Linux platforms.
Java
How is my submission judged?
What hardware does TopCoder use?
What software does TopCoder use?
What options are set when starting up the VM?
Microsoft® Visual C#® .NET or Microsoft® Visual Basic® .NET
How is my submission judged?
What hardware does TopCoder use?
What software does TopCoder use?
What do I need to import to use standard VB.NET functions?
Why is my stack trace reporting strange/incorrect line numbers?
C++
How is my submission judged?
What hardware does TopCoder use?
What software does TopCoder use?
What compiler options are used?
What libraries are available?
How do i get 64-bit integers?
What STL types are available?
MAC OSX
The small HTML window that holds the challenge applet does not load up the applet in MAC OSX
I tried loading the Arena through the JWS link and I'm getting an error when JWS is running that the applet cannot be loaded.
How do I copy and paste in the Arena when using Mac OSX?
More Questions? Contact Us
For FAQs specific to the competition phase, see the Competition FAQ.
Do you really think this is a good way to measure the relative merit of programmers?
The ability to quickly code solutions to a set of somewhat simple algorithmic problems does not completely define a "top" programmer. However, our attempt to make TopCoder tournaments as objective as possible has initially lead us in this direction. We continuously discuss ways in which we might introduce code elegance, style, reusability, and other less objectively ratable elements into our tournaments. We'd love to hear any suggestions on how this might be accomplished.
[back to top]
Who owns the source code that I write during tournaments?
The coder. Our Terms of Use agreement specifies that the coder who submits any source code to TopCoder owns the code, but by submitting any source code the coder agrees to license to TopCoder the right to use and publish such code. You can read the complete Terms of Use agreement here.
[back to top]
How does the rating system work?
Each tournament round is an elimination round. Contestants survive to subsequent rounds by being the fastest to write working programs that accurately answer the challenge question(s). Ratings will then be adjusted by comparing the competitor's record against the other members. The details of the rating formula can be found here.
[back to top]
I'm having a problem with font properties on Linux platforms.
Apparently, Sun has a problem with their font.properties file on the Linux platform that is causing errors with some fonts (Arial is one of them). The fix is to replace the font.properties file with the following: http://java.sun.com/j2se/1.3/font.properties
[back to top]
Java
How is my submission judged?

TopCoder submissions typically consist of a single class definition. For each test, one instance of the class is constructed; then the method described in the problem is called with the test arguments. Therefore, your method must be public, and your class must be instantiable: public default constructor, no abstract methods, etc.

Each Java test is performed in a separate thread. The process is forcibly terminated after consuming 2 seconds of System time. At most 64 megabytes of memory may be mapped.

If your method does return a value, that is the only basis for judging correctness.

[back to top]
What hardware does TopCoder use?
We use 6 2-way 3.6 Ghz Pentium IV Xeon systems.
[back to top]
What software does TopCoder use?
Linux 2.4, Java 5.0 (build 1.5.0_03).
[back to top]
What options are set when starting up the VM?
java -client -Xmx64m <main class>
[back to top]
Microsoft® Visual C#® .NET or Microsoft® Visual Basic® .NET
How is my submission judged?

TopCoder submissions typically consist of a single class definition. For each test, one instance of the class is constructed; then the method described in the problem is called with the test arguments. Therefore, your method must be public, and your class must be instantiable: public default constructor, no abstract methods, etc.

Each Microsoft® Visual C#® .NET or Microsoft® Visual Basic® .NET test is performed in a separate thread. The process is forcibly terminated after consuming 2 seconds of System time.

If your method does return a value, that is the only basis for judging correctness.

[back to top]
What hardware does TopCoder use?

We use 2 2-way 3.6 Ghz Pentium IV Xeon systems.

[back to top]
What software does TopCoder use?

Microsoft Windows 2000 5.00.2195 SP2, .NET Framework version 2.0.50727

[back to top]
What do I need to import to use standard VB.NET functions?

You need to import "Imports Microsoft.VisualBasic"

[back to top]
Why is my stack trace reporting strange/incorrect line numbers?

Because we compile with optimization on, the compiler will sometimes rearrange and optimize functions in such a way that line numbers no longer match the original source code. We recommend you add Console.WriteLine() statements to help debug the problem if necessary.

[back to top]
C++
How is my submission judged?

TopCoder submissions typically consist of a single class definition. For each test, one instance of the class is constructed; then the method described in the problem is called with the test arguments. Therefore, your method must be public, and your class must be instantiable: public default constructor, no abstract methods, etc.

C++ submissions may also define other classes and global variables or functions. However, defining main() will prevent your submission from linking, and referring to library globals (stdout or cout for example) before your method is called is not guaranteed to work as expected.

Each C++ test is performed in a separate process. The instance of your class used by the tester is not guaranteed to be destroyed. The process is forcibly terminated after consuming 2 seconds of CPU time. At most 64 megabytes of memory may be mapped. Stack space is limited to 8 megabytes (the Linux default). Most system calls are emulated or ignored. Note especially that fork() or use of threads (library or kernel) will fail, and use of temporary files is not permitted.

If your method does not return before the process exits (due to exceeding the time limit, an uncaught exception, segmentation fault, divide by zero, etc), it has failed the test.

If your method does return a value, that is the only basis for judging correctness. Anything printed to stdout or stderr is ignored, although you will see it when testing your own code. Output may even return an IO error, and takes extra time during testing; you are advised not to leave unnecessary IO in your final submission.

[back to top]
What hardware does TopCoder use?
We use 2 2-way 3.6 Ghz Pentium IV Xeon systems.
[back to top]
What software does TopCoder use?

Linux 2.4.20-8smp, gcc 4.0.2 (Redhat 9), glibc-2.3.2, and libstdc++-3.

pointers to appropriate docs for each
http://gcc.gnu.org/onlinedocs/gcc-4.0.2/gcc/
http://www.gnu.org/software/libc/
http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html

[back to top]
What compiler options are used?

The compiler is invoked as:
g++ -Wall -W -O2 -s -pipe

Additional info on gcc 3.1
http://gcc.gnu.org/bugs.html#updating

[back to top]
What libraries are available?
Only default libraries will be linked with your code. Math functions requiring libm on some platforms, eg cos(), are automatically linked if needed.
[back to top]
How do i get 64-bit integers?

Integer types on our platform:
char - 8 bits (signed)
short - 16 bits
int - 32 bits
long - 32 bits
long long - 64 bits

long long is not merely a gcc extension, but part of ISO C99.

If you test locally with a compiler other than gcc, the preprocessor may be useful for hiding the differences. For example:

#ifdef __GNUC__
#define int64 long long
#else /* MSVC, say */
#define int64 __int64
#endif

In this way, you can test the same code using 64 bit integers in our environment and on your system.

The C++ standard libraries do not include support for arbitrary precision arithmetic.

[back to top]
What STL types are available?
All of the standard value types and container types should be present. Some extensions are also present, including most of those from SGI's STL, such as rope, hash_set, hash_map, tree, slist, etc.
[back to top]
MAC OSX
The small HTML window that holds the challenge applet does not load up the applet in MAC OSX
A workaround is to load the arena through Java Web Start (JWS). A link that allows you to load the arena through JWS and more info on JWS is available on TopCoder home page.
[back to top]
I tried loading the Arena through the JWS link and I'm getting an error when JWS is running that the applet cannot be loaded.
JWS on OSX has a tendency to cache past loading of the applet. If you did tried to load the applet with a previous version of JWS or continue to have problems, open JWS and select "Preferences". You will see a field for "Application Folder Options". In this you will see a reference to /Users/you/.javaws/cache. Click on "Clear Folder" to remove the cache. Return to TopCoder.com and click on the JWS link. The applet should now load (assuming you are running OSX 10.1).
[back to top]
How do I copy and paste in the Arena when using Mac OSX?
Although many Mac users commonly use command-C and command-V to copy and paste, you must use ctrl-C and ctrl-V to copy and paste from within the Arena.
[back to top]
More Questions? Contact Us
[back to top]