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
- Chọn bài toán từ danh sách bài.
- Đọc kỹ đề bài: Đọc mô tả, ràng buộc, và ví dụ input/output.
- Viết code trên máy tính của bạn.
- Kiểm tra tay với các ví dụ có sẵn trước khi nộp.
- 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): , , 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.
Bình luận