Wiki Bắt đầu Cách sử dụng hệ thống chấm bài

Cách sử dụng hệ thống chấm bài

huunguyen huunguyen Updated Tháng tư 3, 2026

CTOJ là hệ thống chấm bài tự động (Online Judge). Bạn nộp code, hệ thống chạy trên các test case ẩn và trả về kết quả ngay lập tức.

Các bước nộp bài

  1. Chọn bài toán từ danh sách bài.
  2. Đọc kỹ đề bài: Đọc mô tả, ràng buộc, và ví dụ input/output.
  3. Viết code trên máy tính của bạn.
  4. Kiểm tra tay với các ví dụ có sẵn trước khi nộp.
  5. Nộp bài: Chọn ngôn ngữ, dán code vào ô nộp bài và nhấn Submit.

Các kết quả chấm bài

Kết quả Ý nghĩa
AC (Accepted) Code đúng trên tất cả test case
WA (Wrong Answer) Kết quả sai trên ít nhất một test case
TLE (Time Limit Exceeded) Chương trình chạy quá thời gian giới hạn
MLE (Memory Limit Exceeded) Chương trình dùng quá bộ nhớ giới hạn
RE (Runtime Error) Chương trình bị lỗi khi chạy (chia cho 0, truy cập ngoài mảng...)
CE (Compile Error) Code không biên dịch được

Giới hạn thời gian và bộ nhớ

Mỗi bài có giới hạn riêng, ví dụ:

  • Thời gian: 1 giây (time limit)
  • Bộ nhớ: 256 MB (memory limit)

Nếu bị TLE, bạn cần tối ưu thuật toán. Nếu bị MLE, bạn cần giảm bộ nhớ sử dụng.

Mẹo

  • Luôn test code với ví dụ trong đề trước khi nộp.
  • Đọc kỹ ràng buộc để chọn thuật toán phù hợp.
  • Nếu bị WA, hãy thử nghĩ các trường hợp đặc biệt (edge cases): N=0, N=1, giá trị âm, mảng đã sắp xếp...
  • Sau khi nhận AC, hãy đọc editorial để học cách giải khác.
gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0