Wrongly Penalized

Dear @emperor100 @admin ,

I am writing in response to the plagiarism accusation concerning my solution for START155C , where similarities have been flagged between my code (CodeChef: Practical coding for everyone) and another contestant’s code (CodeChef: Practical coding for everyone).

The task in this problem was to ensure that the greatest common divisor (GCD) of any row and column in a matrix is 1. Given this, prime numbers are the most efficient and straightforward solution because prime numbers inherently have a GCD of 1 when paired with non-multiples. The most optimal and widely-used algorithm for generating prime numbers is the Sieve of Eratosthenes, which has been taught to me by a senior from my college’s CODAME club. The use of this method is extremely common in coding competitions and tutorials, so it is not surprising that multiple contestants, including myself and the other individual involved, arrived at similar implementations independently.

To provide further context, I maintain a personal notepad where I store commonly-used algorithms that I find beneficial during contests, including the Sieve of Eratosthenes. This helps me save time by quickly referencing these standard methods instead of rewriting them from scratch. The attached screenshot of my notepad confirms that this practice is not specific to this contest and that the Sieve algorithm was readily available to me beforehand.

Now, consider the remaining code of the solution, after generating the required number of prime numbers (rows × columns) using the Sieve of Eratosthenes, I simply stored them in a vector and then filled a 2D matrix with those primes, printing the matrix row by row. This approach is a basic implementation, and there isn’t much room for variation. To expedite the process, I used GPT to assist in generating some boilerplate logic, as the matrix-filling part is relatively standard. A screenshot of this interaction is also attached for your review.

One particular quirk of my submission is the use of #define ll int instead of the usual #define ll long long. This might feel quite unusual, as I typically default to using long long for competitive programming (can be verified by my previous submissions). However, upon reviewing the problem’s constraints during the contest, I realized that int was sufficient for this problem since the values would not exceed the limit 1e9. Instead of replacing every instance of ll in my code, I simply changed the macro to define ll as int, which saved my time during the contest. This is a clear indication that I wrote and modified my code actively during the contest, and it reflects my thought process at that moment.

Furthermore, I want to emphasize that the other contestant involved in this plagiarism accusation is someone I do not know personally, even though he attends the same college. It is possible that he might have learned the logic from the same senior. This, combined with the fact that the problem naturally leads to the use of primes, has unfortunately led to the appearance of Plagiarism.

Given these explanations and my provided evidence, I hope you reconsider the plagiarism claim. I understand the immense effort it takes to achieve upward momentum in the graph. I have no intention to engage in any dishonest practices, and this situation seems to be a case of coincidental overlap in a widely-known algorithm and standard logic for this type of problem on multiple platforms. Thank you for your understanding, and I appreciate your time in reviewing this appeal.