【TOPSIC PG】ルール・用語

受験ルール

言語

問題を解くためのプログラミング言語はTOPSICのシステムが対応しているものに限ります。以下は対応している言語を表にしたものです。また、TOPSICではC++においてAtCoder Library(AC Library, ACL)が利用可能です。言語ごとのインストール済ライブラリの詳細に関してはこちらをご確認ください。

言語 コンパイル・インタプリタ 実行方法
C (GCC 9.2.1) gcc -std=gnu11 -O2 -DONLINE_JUDGE -o ./a.out ./Main.c -lm ./a.out
C (Clang 10.0.0) clang -std=c11 -O2 -DONLINE_JUDGE -o ./a.out ./Main.c -lm ./a.out
C++ (GCC 9.2.1) g++ -std=gnu++17 -Wall -Wextra -O2 -DONLINE_JUDGE -I/opt/boost/gcc/include -L/opt/boost/gcc/lib -I/opt/ac-library -o ./a.out ./Main.cpp ./a.out
C++ (Clang 10.0.0) clang++ -std=c++17 -stdlib=libc++ -Wall -O2 -DNDEBUG -DONLINE_JUDGE -I/opt/boost/clang/include -L/opt/boost/clang/lib -I/opt/ac-library -o ./a.out ./Main.cpp ./a.out
Java (OpenJDK 11.0.6) /usr/lib/jvm/java-11-openjdk-amd64/bin/javac ./Main.java /usr/lib/jvm/java-11-openjdk-amd64/bin/java -Xss{stack_size:mb}M Main
Python (3.8.2) bash -c ‘python3.8 ./Main.py ONLINE_JUDGE 2>/dev/null’ python3.8 ./Main.py
Bash (5.0.11) bash ./Main.sh
bc (1.07.1) bc –mathlib ./Main.bc
Awk (GNU Awk 4.1.4) awk -f ./Main
C# (.NET Core 3.1.201) bash -c ‘cp ./Main.cs ./../csharp/Program.cs && dotnet publish ./../csharp -c Release -r ubuntu.18.04-x64 -p:PublishReadyToRun=true -o . -v q –nologo 1>&2’ ./csharp
C# (Mono-mcs 6.8.0.105) mcs -warn:0 -o+ -unsafe -r:System.Numerics -langversion:latest ./Main.cs -out:./Main.exe mono ./Main.exe
C# (Mono-csc 3.5.0) csc -warn:0 -o+ -unsafe -r:System.Numerics.dll -langversion:latest ./Main.cs -out:./Main.exe mono ./Main.exe
Clojure (1.10.1.536) clojure -J-Xss{stack_size:mb}M ./Main.clj
Crystal (0.33.0) crystal build –release –no-debug –no-color -o ./a.out ./Main.cr ./a.out
D (DMD 2.091.0) bash -c ‘dmd -wi -m64 -O -release -inline -boundscheck=off -of=./a.out `dub list head -n-1
D (GDC 9.2.1) gdc -O2 -frelease -o ./a.out ./Main.d ./a.out
D (LDC 1.20.1) ldc2 -O -release -of ./a.out ./Main.d ./a.out
Dart (2.7.2) dart2native ./Main.dart -o ./a.out ./a.out
dc (1.4.1) dc -f ./Main.dc
Erlang (22.3) bash -c ‘erlc Main.erl 1>&2’ erl -noshell -run Main main run erlang halt
Elixir (1.10.2) bash -c ‘elixirc ./Main.ex -o . 1>&2’ elixir -pa . -e Main.main
F# (.NET Core 3.1.201) bash -c ‘cp ./Main.fs ./../fsharp/Program.fs && dotnet publish ./../fsharp -c Release -r ubuntu.18.04-x64 -o . -v q –nologo 1>&2’ ./fsharp
F# (Mono 10.2.3) fsharpc -O -o ./a.exe ./Main.fs mono ./a.exe
Forth (gforth 0.7.3) gforth-fast ./Main.fs -e bye
Fortran (GNU Fortran 9.2.1) gfortran -O2 -o ./a.out ./Main.f08 ./a.out
Go (1.14.1) go build -buildmode=exe -o ./a.out ./Main.go ./a.out
Haskell (GHC 8.8.3) ghc -o a.out -O2 ./Main ./a.out
Haxe (4.0.3); js haxe -cp . -main Main -js ./Main.js -lib hxnodejs node ./Main.js
Haxe (4.0.3); Java haxe -m Main -cp . –java . java -Xss{stack_size:mb}M -jar ./Main.jar
JavaScript (Node.js 12.16.1) node ./Main.js –stack-size={stack_size:kb}
Julia (1.4.0) bash -c ‘julia ./Main.jl ONLINE_JUDGE 2>/dev/null’ julia ./Main.jl
Kotlin (1.3.71) kotlinc ./Main.kt -include-runtime -d ./Main.jar -XXLanguage:+InlineClasses /usr/lib/jvm/java-11-openjdk-amd64/bin/java -cp ./Main.jar MainKt -Xss{stack_size:mb}m
Lua (Lua 5.3.5) luac -o ./luac.out ./Main.lua lua ./luac.out
Lua (LuaJIT 2.1.0) luajit -O3 -b ./Main.lua ./luac.out luajit -O3 ./luac.out
Dash (0.5.8) sh ./Main.sh
Nim (1.0.6) nim cpp -d:release –opt:speed –multimethods:on –warning[SmallLshouldNotBeUsed]:off –hints:off -o:./a.out ./Main.nim ./a.out
Objective-C (Clang 10.0.0) bash -c ‘clang $(gnustep-config –objc-flags) -I/usr/lib/gcc/x86_64-linux-gnu/7/include -o ./a.out ./Main.m $(gnustep-config –base-libs)’ ./a.out
Common Lisp (SBCL 2.0.3) sbcl –noinform –eval ‘(compile-file “./Main”)’ –quit sbcl –script ./Main.fasl
OCaml (4.10.0) bash -c ‘eval $(opam env) ocamlfind ocamlopt -O2 -o ./a.out ./Main.ml -linkpkg -thread -package str,num,threads,containers,core,iter,batteries’ ./a.out
Octave (5.2.0) flatpak run org.octave.Octave -W ./Main.m
Pascal (FPC 3.0.4) fpc -O2 -Sd -Sh -o./a.out ./Main.pas ./a.out
Perl (5.26.1) perl -W -c ./Main.pl perl -X ./Main.pl
Raku (Rakudo 2020.02.1) perl6 -c ./Main.p6 perl6 ./Main.p6
PHP (7.4.4) php -l ./Main.php php ./Main.php
Prolog (SWI-Prolog 8.0.3) swipl -O -g main -o ./Main -c ./Main.pl ./Main
PyPy2 (7.3.0) pypy ./Main.py
PyPy3 (7.3.0) pypy3 ./Main.py
Racket (7.6) raco exe -o ./a.out ./Main.rkt ./a.out
Ruby (2.7.1) ruby -w -c ./Main.rb bash -c ‘RUBY_THREAD_VM_STACK_SIZE={stack_size:b} ruby ./Main.rb’
Rust (1.42.0) bash -c ‘cp ./Main.rs ./../rust/src/main.rs && cargo build –release –offline –quiet –manifest-path=/imojudge/rust/Cargo.toml && cp ./../rust/target/release/main ./a.out’ ./a.out
Scala (2.13.1) bash -c ‘JAVACMD=/usr/lib/jvm/java-8-openjdk-amd64/bin/java scalac -opt:_ -opt-inline-from:'**’ -opt-warnings:_ -deprecation -d . ./Main.scala’ bash -c ‘JAVACMD=/usr/lib/jvm/java-8-openjdk-amd64/bin/java scala -J-Xss{stack_size:mb}M -classpath . Main’
Java (OpenJDK 1.8.0) /usr/lib/jvm/java-8-openjdk-amd64/bin/javac ./Main.java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -Xss{stack_size:mb}M Main
Scheme (Gauche 0.9.9) gosh precomp -e ./Main.scm gosh ./Main.scm
Standard ML (MLton 20130715) mlton -output ./a.out ./Main.sml ./a.out
Swift (5.2.1) swiftc -Ounchecked -o ./a.out ./Main.swift ./a.out
Text (cat 8.28) cat ./Main.txt
TypeScript (3.8) bash -c ‘ln -s /usr/lib/node_modules ./node_modules; tsc ./Main.ts –target ESNext –outDir . –moduleResolution node –module commonjs’ node ./Main.js –stack-size={stack_size:kb}
Visual Basic (.NET Core 3.1.101) bash -c ‘cp ./Main.vb ./../visualbasic/Program.vb && dotnet publish ./../visualbasic -c Release -r ubuntu.18.04-x64 -o . -v q –nologo 1>&2’ ./visualbasic
Zsh (5.4.2) zsh ./Main.sh
COBOL - Fixed (OpenCOBOL 1.1.0) cobc -x -O2 -o ./a.out ./Main.cob ./a.out
COBOL - Free (OpenCOBOL 1.1.0) cobc -x -free -O2 -o ./a.out ./Main.cob ./a.out
Brainfuck (bf 20041219) bf -c999999999 ./Main.bf
Ada2012 (GNAT 9.2.1) gnat-9 make -O3 -o ./a.out ./Main.adb ./a.out
Unlambda (2.0.0) unlambda ./Main.unl
Cython (0.29.16) bash -c ‘cython -3 –embed ./Main.pyx; gcc -O2 -fPIC -I/usr/include/python3.8 -I/usr/local/lib/python3.8/dist-packages/numpy/core/include -o ./a.out ./Main.c -lpython3.8’ ./a.out
Sed (4.4) sed -f ./Main.sed
Vim (8.2.0460) bash -c ‘cat - > /tmp/out; TERM=dumb vim -N -u NONE -i NONE -s ./Main.vim /tmp/out > /dev/null 2>&1; cat /tmp/out’

言語の注意事項

CC++を使うときは、main関数の型をintで指定し、return 0;してください。Javaを使うときは、クラス名をMainにしてください。mainではコンパイルエラーになります。


提出情報の「状態」について

ユーザが提出したプログラムはジャッジシステムによって評価されます。以下でシステムが返すステータス(状態)について説明します。下記は全て誤答となります。

表記 ステータス 説明
CE Compilation Error 提出されたプログラムのコンパイルに失敗しました。
MLE Memory Limit Exceeded 問題で指定されたメモリ制限を超えています。
TLE Time Limit Exceeded 問題で指定された実行時間以内にプログラムが終了しませんでした。
RE Runtime Error プログラムの実行中にエラーが発生しました。コンパイル時に検知できなかったエラーがあります。スタックオーバーフロー、ゼロ除算などが原因です。
OLE Output Limit Exceeded 問題で指定された制限を超えるサイズの出力を行いました。
QLE Query Limit Exceeded 問題で指定された制限を超えるクエリを行いました。
NG No Good 内部のエラー、つまりジャッジシステムのエラーです。
IE Internal Error 内部のエラー、つまりジャッジシステムのエラーです。
WA Wrong Answer 誤答です。提出したプログラムの出力は正しくありません。

ACが唯一の正解です。

表記 ステータス 説明
AC Accepted 正答です。運営が用意したテストを全てパスし、正しいプログラムであると判定されました。

また、誤答ではありませんが、以下のステータスがあります。

表記 ステータス 説明
JG Judging 提出したプログラムのジャッジ中の状態です。
WJ Waiting for Judging) 提出したプログラムはジャッジを待っている状態です。

問題にミスがあった場合など、リジャッジ(再ジャッジ)が行われることがあり、以下のステータスになります。

表記 ステータス 説明
WR Waiting for Re-judging 再ジャッジを待っている状態です。

開発環境

開発環境、エディタはお好きなものをご利用ください。


TOPSICグレードについて

受験者のレベルに応じて、7段階のグレードが付与されます。
提出方法が「全体で1回」となっているイベントの受験結果が集計対象となります。

各グレードの想定割合 TOPSICグレード シンボル名 シンボル
上位 1% Diamond
上位 5% Ruby
上位 10% Sapphire
上位 30% Emerald
上位 50% Gold
上位 70% Silver
上位 90% Bronze
- Zero