This campaign is over.
1. Do I need to pay any money to register for the Hackathon? No. You do not have to pay anything to anyone to register yourself for any Hackathon on HackerEarth.
2. Do I need to have any specific qualifications to be a participant for the Hackathon? If you love to code, you are more than welcome to participate in the Hackathon.
3. How do I submit what I have made for the Hackathon? You have to participate in the respective coding challenges within the challenge interface on the HackerEarth Recruit platform. Team Leaders will receive an invite for the respective coding challenges.
4. Who will own the IP(Intellectual Property) Rights to the product that I have built? The developer/developers of the code will have all rights and own the IP of the code.
5. Where will the challenge take place?
This challenge is an online challenge.
6. Will I receive a reminder notification before the challenge begins?
The team leader will receive a reminder e-mail before the challenge begins only they have registered for the challenge.
7. How do I participate in this challenge?
To participate in this challenge, do the following:
a. Register for the challenge
b. The team leader will need to visit the challenge page on start date/time. You can work on the challenge as a team by sharing screens
c. Click Participate in Challenge
8. Can we take up the challenges from mobile platforms?
No. We don't support mobile platform for taking up the challenges. We only suggest our users to participate in the challenges from laptop/desktop.
9. What type of questions will I have to solve in this challenge?
The questions in this challenge are of the following types:
Programming problems
Write code in the online code editor that is provided with each problem and submit it.
You can make multiple submissions. The platform automatically considers the best submission.
10. Are the programming questions restricted to specific languages?
The languages that you can write code in will be mentioned in the challenge details, if applicable.
11. What will happen in case of there is an issue with my computer or Internet connection?
If there is an issue with your computer or your Internet connection, you will not lose your previously submitted answers. They will be saved on HackerEarth's servers. You can log in again and continue coding from where you stopped.
However, the timer will continue running, which is why it is advised that you ensure that your computer/Internet connection is working properly before you begin the challenge.
12. My code works in my local IDE, however, it throws compilation errors when I run it on the platform interface. Why does this happen?
Every problem has the following two buttons:
a. Compile & Run
When you click Compile & Run, the is tested against the sample input and output.
This ensures that you are able to test your code against predefined sample test cases before you submit your code.
b. Submit
When you click Submit, the code is checked extensively against internal test cases. The following parameters are considered while checking the code:
Time limit: The code should run within the stipulated time otherwise it will throw a Time Limit Exceeded (TLE) error.
Memory limit: The code should run within the give memory size otherwise it will throw a Memory Limit Exceeded (MLE) error.
Errors during runtime: Specific test cases check for Runtime Errors (RE) only.
Correct answer: If your answer is incorrect, then you will see the message Wrong Answer (WA) on the screen. This means that your program is not printing the correct answer. Ensure that your program conforms with the output format that is required.
13. Is it possible to change my submission after I have submitted a task?
No, you will not be able to edit your submisison after you have completed the challenge.
Note: Some tests have timed sections. After the time limit is reached, you will not be able to revisit questions in that section.
14. How does the time limit work?
Your program must read, process, and output the result for all input files within the specified time limit.
The input file will be of the format that is specified in the problem. This means that if each input file contains multiple test cases, then your code must pass all the test cases within the specified time limit.
15. How does the total execution time work?
Your code is tested multiple times against different input files. The displayed execution time is the total time spent executing each input file. Hence, Total execution time <= (Time Limit * Number of input files)
Your program is terminated in the following scenarios:
If the time that is required to execute each input file exceeds the time limit execution that is set for any input file.
If the total time that is required to execute all the input files exceeds the total time limit allowed.
16. How does the total memory consumed work?
The total memory consumed by a program is the sum of the memory that is consumed by the program in stack, data, heap, and BSS. To understand more about the address space of a program and the memory consumed, refer to this image or this explanation.
17. My program doesn't compile. Why?
C/C++
Ensure that you are using a compiler that complies with the standards.
For example, do not use Turbo C++. Code that compiles in Turbo C++ will often not compile on the online judge.
Also, remove 'conio.h includes' in your code.
Java
We support multiple classes and inner static classes.
Your code may throw errors if the inner classes are not static.
Please note that we will remove this constraint very soon. We will update you when this happens.
Other languages
The compilation errors that you see on the screen are self-explanatory.
However, if you require any more information, please contact us at support@hackerearth.com.
18. Does TLE error mean that my code is correct but slow?
No, Time Limit Exceeded or TLE means that your solution has exceeded the amount of time that is allowed for problem execution or for a specific test case. Your solution never finished running in time and it was stopped in between. There is no definite way to know whether the code was correct.
19. What does Wrong Answer (WA) mean?
WA means that your program ran successfully but gave an incorrect answer. This could mean either of the following:
Your program contains a bug
You have not interpreted the problem text correctly
Apart from the sample input, your code will also be evaluated against multiple input and output cases. Therefore, even if your code passes the sample input correctly, it may not have passed one of the other input and output cases because of the answer is incorrect.
20. What happens if I indulge in plagiarism?
At HackerEarth, we take cheating/plagiarism very seriously. For more information about consequences of cheating, read our plagiarism policy.
21. Why is my submission queued?
Your submission is queued because of simultaneous submissions by multiple users. You will receive the result of your submission in real-time as soon as it is processed.
22. Why am I seeing a runtime error on the screen?
A runtime error means that the program was compiled successfully but it crashed or exited with an error. The most common error messages include the following:
S. No. | Error | Description | Reason |
---|---|---|---|
1 | SIGSEGV | Segmentation fault error | Caused by an out-of-scope array index causing a buffer overflow, an incorrectly initialized pointer, etc. Signal is generated when a program tries to read or write outside the memory that is allocated for it, or to write memory that can only be read. For example, you are accessing a[-1] in a language which does not support negative indices for an array. |
2 | SIGXFSZ | Output limit exceeded error | Your program has printed too much data to output. |
3 | SIGFPE | Floating point error | This usually occurs when you're trying to divide a number by 0, or trying to take the square root of a negative number. |
4 | SIGABRT | Raised by the program | This happens when the judge aborts your program in the middle of execution. This can also be raised due to insufficient memory. |
5 | NZEC | Non-zero exit code error | This message means that the program exited to the shell by returning a value that is different from 0. For languages such as C/C++, this probably means you forgot to add "return 0" at the end of the program. It could happen if your program threw an exception which was not caught. Trying to allocate too much memory in a vector. For interpreted languages like Python, NZEC will usually mean that your program either crashed or raised an uncaught exception. Some of the reasons being in such cases would be: the runtime errors mentioned above. Or, for instance usage of an external library which is causing some error, or not being used by the judge. |
6 | MLE | Memory limit exceeded error | This error means that your program tried to allocate memory beyond the memory limit indicated. This can occur if you declare a very large array, or if a data structure in your program becomes too large. |
7 | OTHER | Generated when you use too much memory | Check for arrays that are too large, or other elements that could grow to a size too large to fit in memory. Sometimes it can also be generated for reasons similar to the SIGSEGV error. |
Avoiding runtime errors
Ensure that you are not using variables that haven't been initialized. These may be set to 0 on your computer, but aren't guaranteed to be on the judge.
Check every single occurrence of accessing an array element and see if it could possibly be out of bounds.
Ensure that you are not declaring too much memory. 64 MB is guaranteed, but having an array of size [100000][100000] will never work.
Ensure that you are not declaring too much stack memory. Any large arrays should be declared globally, outside of any functions - putting an array of 100000 ints inside a function probably will not work.