Kotlin
Compiler settings
We use kotlinc 1.8.10
to compile your program with the following command:
$ kotlinc -d {path} -Djava.io.tmpdir={path} {files}
{files}
is a space-separated list of all files.
Runtime settings
We use kotlin
to run your program with the following command:
$ kotlin -J-XX:+UseSerialGC -J-Xss64m -J-Xms{memlim}m -J-Xmx{memlim}m -cp {path} {mainclass}
{mainclass}
is the class containing your main function.{memlim}
is the actual memory limit for the problem you are submitting to.
File Extensions
Files with any of the following file extensions will be used: .kt
Mainclass
The mainclass is the class containing the entry point (main method) of your program. It is a method that looks like this:
As you can submit multiple classes, there can potentially be multiple such methods.
Therefore you need to specify which class contains the main method we should use. Note that the
mainclass must contain the full name of the class. If you declare a package, it must be
included (or we will not find your class). For example, if your class name is SolutionKt
and it is in package fuzzy
your mainclass should be fuzzy.SolutionKt
.
In Kotlin it is possible to write a program with an implicit class declaration. If you
do not write public class {Name}Kt
at some point in your
program, Kotlin will use the filename to generate a class declaration. For example, if your
file is named foo.kt
the generated class declaration will be public class FooKt
.
Specifying the wrong mainclass will give you a Compile Error telling you what happened.