MarisaOJ - How to use Marisa Online Judge?

The Guide on Using Marisa Online Judge

Setting Up Your Coding Environment - Before you begin, ensure that you have a suitable coding environment ready. - For Python and C++, here are some common choices: + C++ + Code::Blocks + Dev-C++ + Visual Studio Code (the blue version, not the purple one) + Python + Python IDLE + Thonny + PyCharm + Visual Studio Code (again, the blue version) - If you encounter any issues with the above-mentioned software, you can explore online compilers that support both C++ and Python: + [Repl.it](https://repl.it) + [OnlineGDB](https://www.onlinegdb.com/) + [IDEOne](https://ideone.com/)
Account ### Creating an Account - If you haven't registered yet, click on the **Register** button located at the top right corner to create an account. - Fill in your desired username, email address, and password. Please ensure that your username and email are unique. - Check your email for a confirmation message, and click on the provided link to verify your account. - Once your account is successfully verified, you can proceed to log in. - If you encounter any issues with the confirmation email, you can always request a new email by going to the **Register** tab and selecting **Resend confirmation email**. ### Account Settings - After logging in, click on your username in the top right corner to access your profile page. Here, you can find all your submissions. - Click on **Settings** in the navigation bar. In this section, you can: - Add a profile picture - Change your password - Update your biography - Adjust your timezone - Change your default language
Roadmap - Our roadmap comprises 7 levels, with Level 0 being the easiest and Level 6 the most challenging. - Level 0 is designed for beginners who are entirely new to programming. If you're using Python, be sure to read the article on reading input, which can be found on the Level 0 page. - While our roadmap is tailored for Vietnamese competitive programming competitions, it's also suitable for participants outside of Vietnam. Feel free to follow the entire roadmap or select modules that pique your interest.
Problem
### Understanding Problem Statements - Competitive programming problem statements typically include the following elements: + **Problem Statement**: A detailed explanation of the problem, including what you need to solve or achieve. + **Input Format**: Information about how the input for the problem will be provided. Pay close attention to this section, especially if you're using Python. + **Output Format**: Specifies what your program should produce as its output, often including details about the format, separators, and presentation of results. + **Constraints**: Information about the size of the input data. + **Example Testcase**: This section provides an example of input and the expected output. You can use this to test your code for obvious errors. + **Time and Memory Limits**: Your program must not exceed the specified time and memory limits. ### Submitting Your Solutions - To submit your solution, go to the **Submit** tab. Ensure that your code can be compiled before submitting and test it against multiple test cases. - Copy your code from your code editor and paste it into the site's editor. - Select your programming language; you can change the default language in your account settings. - Click the **Submit** button to submit your code. You can submit once every 15 seconds. - After submitting, you'll see a panel with information about your submission. The **Verdict** can be: + Pending - Your submission is being judged; please wait patiently. + Compilation error - Your code cannot be compiled, try compiling it on your machine to figure out the error. + Accepted - The most desired outcome; your solution is correct. Congratulations! + Wrong Answer - Your solution produced the wrong output in a certain testcase; check the details below. + Runtime error - Your solution contains some errors that causes the program to stop unexpectedly during runtime. + Time limit exceeded - Your solution exceeded the time limit; try optimizing it. + Memory limit exceeded - Your solution exceeded the memory limit. + Internal error - This is not your fault; there were server errors. You can try submitting again or contact us for assistance. ### Scoring - For each solved problem, you earn points based on the following formula, where $R$ is the problem's rating: $$\frac{(\frac{(R - 800)}{11})^2}{1000}+1$$ (please note that this formula may be subject to change). - Best of luck in securing the top position on the leaderboard!
Frequently asked question
Question 1: My code runs correctly on my local machine, but it produces a different output on the online judge? Your code may have issues, such as "Undefined behavior," often caused by accessing an array out of bounds. It may seem to work on your machine but not on ours. Ensure your code is robust and well-tested.
Question 2: My code produces a wrong answer; where can I find the full test cases? You can copy some small test cases to debug locally. Debugging is a crucial skill. In a real competition, you won't have test cases provided, so practice generating your own and testing against them.