Hi codeforces!
So recently we have all seen that the number of cheaters has grown to become quite a lot. I have come to know that people are using plagiarized code and rephrasing/formatting it using AI tools like ChatGPT/Claude. Many of these tactics include globally changing variables names, shifting functions, adding useless pieces of code (like this code) and many more.
Of course, these users cannot survive in Div-1 competitions, they only plague lower Divisions. However, it's more than that. Cheating in CP completely goes against the spirit of competition. It is intended to be like a "game" where users compete to see who can solve more problems faster. Like every game, cheaters are always unwelcome. In the recent blogs of reported cheaters in Div-3 and Div-4 rounds, we came across many submissions in which we could clearly see unfair means of competition.
I believe these submissions can be flagged and detected by us humans. Well, at least a lot of these submissions can. But I've noticed that the enormous amount of cheaters makes it difficult for admins to ban them and many of them still cheat freely. As Mike mentioned previously in an AMA, its incredibly tedious and time-consuming to get rid of cheaters. Mike mentioned here that each round involves getting rid of cheaters, but it needs to be done, regardless of how tedious it is.
I think many users (like myself) hate the cheating going on and would love to be a part of the system trying to remove cheaters. So, I came up with something that could greatly benefit codeforces and participants. Here's the idea: open up a volunteer system for "out-of-competition" participants, who can assist in the cheater banning procedure and ease the admins load on doing the same. I mean, I'm sure there are people like me willing to sit around for some hours after the rounds and report these cheaters. Maybe the admins could contract people to look at some disjoint portions of the standings and report the users they found fishy. (This is just one way. Also this is not trivial, sometimes users submit plagiarized codes in different languages 4 or 5 at a time). Of course, this initiative would be volunteer work for the good of the community, so that we can oust these cheaters from our community. I know it may not be a big change, but it is not worse, is it? (Exchange argument)
It is true that these volunteers would need to be highly trusted and largely unbiased. That's why it may be beneficial to have a "tree-like" structure to the reporting process. The lower level volunteers could remove the very "obvious" cheaters (Like this one) and only the very debatable ones could be sent to the ancestors in the tree to help reduce the banning load on admins and help some of us contribute to the community. It really deserves it.
I'm just throwing this idea around and I'm not sure what the community thinks of this, if you're not a cheater, please write below and tell me what you think. If you're cheater, please get a conscience. Maybe it's not that good an idea, in that case I will delete this blog soon. It's too long blog anyways.
I'm tagging the admins and I'm sorry for that :( I hope you receive this message. MikeMirzayanov, geranazavr555, Una_Shem and KAN. Much love and appreciation to you.
UPD: It's been almost 2 months since this post. The number of cheaters is growing unboundedly, and I think it's time that something should be done, cheaters are now solving upto D2E, that certainly doesn't motivate me to participate. I was hoping this cheating phase would come to an end soon, but its becoming worse and worse. Do we really want our beloved Codeforces to become the home of cheaters? Think about this when you have a moment.
This is the need of the hour. Some serious measures need to be taken to curb this menace of cheating. Given how fast AI is advancing, comp. programing will become obsolete if we don't weed out these pest. For obvious cheaters and people who have been flagged multiple times, there should be direct IP ban.
How come would competitive programming become obsolete?
I think he means to say that only on-site competitions will remain to be fair for all participants.
While I can agree that giving the comunity some power over the issue is a good idea, I don't think that empowering everyone with ban provileges is a good idea. First, it must be a trustworthy person and given the ammount of cheaters, it is likely that many will try to get this privilege and use it against others. What I suggest instead is that people can report cheaters. If you think someone is a cheater, you should report it directly, instead of making a "cheater expose blog", unless noone takes action on the matter.
If someone tries to break this system by flooding the reports list, an admin could revoke the "report cheater" privilege from that person for some ammount of time or permanent, depending on the severity.
You also suggested that some people would be willing to spend a couple hours after a contest and report cheaters, but really, once you will get to a higher rating and not be as affected, you will just not notice the issue and not be willing to spend time for improving someone else's round. Also, many people have other duties and cannot physically help in this.
The out-of-competition participants that could help is again, a risky move. If someone agrees to get paid to help someone else then such an individual could lookup solutions to harder problems and gain insights or modify them just enough to fool most people.
I know this sounds bad, but the key takeaway is that any approach the codeforces officials take will have to be well thought up and still rely quite a bit on trust (which we can see many don't provide).
just make it red+ like the catalog editing feature lol, that already depends on trust
do you think many red+ users will do this time-consuming work? there are not many red+ either
Reds can't be fully trust either, there's still trolls with good skills. Sparky_Master_WCH1226 is the most well known one.
Don't forget about WeaponizedAutist
I’ve noticed comments about people using AI tools like ChatGPT or Claude during contests, where they provide the AI with a problem idea and get the code written for them. What should we consider this behavior?
First Question: How can we differentiate between someone who solved the problem themselves and someone who copied the entire solution from ChatGPT or Claude?
Second Question: Although this doesn’t seem to impact high-rated participants currently, AI is only going to get better. I believe the rules regarding prewritten codes and using any type of available information before the contest need to be updated. But to what extent should we go to catch cheaters? This issue is ruining the fun and thrill of participating in contests.
First question: who cares, doesn't matter (at least on cf)
Though problemsetters should run their problems through gpt first, like d2A and B. Codeforces Global Round 26 originally had a gpt-able problem A but I harrassed them until they came up with one that wasn't easily gptable.
It is not like cheaters are taking prizes away. Codeforces is meant to be an educational platform — why don't we focus instead on solving problems and getting better? If you are worried that cheaters are lowering your rank in competition, I think there are better ways to measure self-worth than arbitrary internet points.
Some individuals may experience feelings of inadequacy due to cheating behaviour of others which can even significantly undermine their morale.
Codeforces priority should be to help people get better, not feel better.
Also I feel there is a reason this is called 'competitive' programming. Contest and ranks are integral part of it imo.
Ratings in Codeforces play an important role in getting shortlists in high paying companies in our country. That is why a lot of college students resort to unfair means as they think CF rating will influence their future.
In which country does CF rating matter? Usually they give you a task in an interview and you solve it
India. tasks are given by startups, mnc's hire on the basis of cf rating.
like there is a hack it button in front of each submission, a report cheating button can also be given where the user can give proof, how is this code cheating. and as the hacking phase is for 12 hours, this could also be available for 12 hours after the contest
Leetcode has already implemented it and also rewards those with genuine cheating reports
12 hours is not enough at least 12 days
I think AI tools can be trained to not respond to algorithmic problems during the contest is going on sites like codeforces and atcoder.
Why isn't cf perma-banning accounts? i have seen accounts with entire contests skipped but still making it to expert,since plag couldn't detect their later exploits,what even is the point of skipping then.
A Youtuber named Armstrong XXX .. has changed his name to coder796 The Link of the Youtube Channel. Also he has removed all the videos. I request all the Codeforces Users and @MikeMirzayanov to please take action against them.
One practical thing is(atm),one should be able to manuallly report solution of atleast first 400,500 rankers,this ensures that cheaters cant go beyond a limit ,and seems practically possible too
Not only have they grown in numbers, but they are writing a lot, too. Recently, you all have encountered blogs about their skipped solutions to justify their cheating that they were unaware of this and that blah blah. I checked some of these profiles and found that some(almost all) of them skipped in more than three contests and still dared to write blogs. PS: Please excuse my poor English.
Also there are a lot of Indian telegram channels where solutions are shared. These people are literally ruining competition spirit of codeforces
If anybody wants to volunteer in catching cheaters then you may join my discord server https://discord.gg/kKZhfAWKfE
Codeforces is taking blogs exposing cheaters seriously. Almost every cheater mentioned in these blogs gets banned. So we will publish a blog after every contest and others can help me in finding out these users by reporting them in the server. I'm basically trying to crowdsource it to make it sustainable.
sabbirsajids45 solved problems in Ruby, Java, C, C++, and Kotlin. What a versatile dude.