First of all, it seems like the plagiarism checker isn't doing a great job at removing a good portion of the $$$AI$$$ cheaters. It is alright, but it isn't great. And as $$$AI$$$ tools get better (and cheaper), the amount of cheaters in the top $$$1000$$$, $$$500$$$ and $$$100$$$ spots in $$$div$$$ $$$1+2$$$ s will increase.
In my opinion, I don't see any way to reliably automate the removal of $$$AI$$$ cheaters. You pretty much need actual people to look at potential cheaters and determine if they are actually cheating.
Of course, the codeforces admins don't have the time or resources to do all of this by themselves (that is, look at all of the potential cheaters and then ban the ones that they determine are actually cheating). But the cf community actually can do this, and I think that some members would enjoy doing this. There is already a pretty good cheater database out there, and a lot of the cheaters in it have not been officially caught by cf, so the community is definitely capable of identifying cheaters that codeforces itself isn't identifying.
So I think that codeforces should give the community limited permission to ban users. This would have to be done in a careful way, though, like maybe there are $$$4-6$$$ trusted community members that can vote on banning a certain user, and if the vote to ban them is unanimous, the user gets banned. The admins wouldn't even have to do anything.
It doesn't have to be done that way, though, like another way to do it would be to just ban everyone in the current cheater database. If the database is carefully maintained, this would also not be a bad option, in my opinion.
My point is that if we continue to leave most (all?) of the banning up to the admins, a good deal of cheaters simply won't get caught. And since codeforces has an active community that cares a lot about identifying and banning cheaters, not using the community to directly assist in banning cheaters is a waste. That is all.









Deleted
AI is even better at doing that bro
You’re right, it's actually not a good idea
What if someone was uncomfortable or unable to perform a live explanation? And they could easily ask AI to write something for them that they could then read off/memorise.
The community is already directly assisting in banning cheaters. People find cheaters and provide evidence. You want to give some people extra privileges but it's honestly a tiny step in comparison to the effort that goes into figuring out who is a cheater. It's not the bottleneck.
I really do think that it's a bottleneck. To demonstrate this, I've selected $$$5$$$ random users from macaquedev's cheater database. The current cheater database contains ~$$$3000$$$ users. Here are $$$5$$$ randomly-generated numbers between $$$1$$$ and $$$3000$$$: $$$886$$$ $$$2636$$$ $$$1729$$$ $$$596$$$ $$$2239$$$. On the corresponding lines of this file, these correspond to devyuvraj4873108011, soham_pal2005, mahmudrashik, BinaryPhoenix10, Quinos2003. Have any of them actually faced any consequence for cheating? I don't know, but I know that $$$5/5$$$ of them are not banned.
Hmm. If there's a lot of banning to be done and admins don't have time for it, then sure, find trusted people who'd do it. Very trusted. That kind of privilege is basically being an admin.
Sure, but imo the difference is that most of the admins (maybe all of them) just aren't too active / don't have the time for all that. The cf community has a lot of people who do have the time for that (and who might enjoy it). If cf could somehow give the community limited permission to ban people, I'm sure the community would set up a sophisticated process to identify and ban users. Idk how exactly the process would work, but I'm sure something decent would be created.
Its a fine idea, but make sure none of them are Indian or from similar regions, though why not instead of making any 4-6 trusted community members just have the contest setters flag them?
actually this already happens, contest setters during their round can skip submissions, and the skip can act as a flag. Why not just make an automated banning system for too many skips?
1 skip? (normal — penalty), 2 skips? reset rating (make it drop to 0) + banned for a month, 3rd time banned permanently that way nobody can argue its too strict, and the admins already have all the technology in place to do this (except for the part that bans upon 3 skips)
since rollbacks are sparse, between rollbacks users can appeal, and for each appeal any cm+ (since most arent cheaters) can vote yes or no, when doing rollback the skip is checked for if they were pardoned that way it is kept fair and contest author bias cannot skip people of personal grudges or other bias.
now the other argument is skipping is also possible when resubmitting. This is true but from the New years event, we can see that manual skip from system skip are separate tags (one said "no presents from santa this year" and the other said "naughty boy" or something I forgot exactly). So only mark manual skips (PLAG CHECK COUNTS AS MANUAL IN THIS CONTEXT BTW). This requires minimal effort from the admins to fix this problem.
just ban the Indians already
I think that, ideally, these $$$4-6$$$ users (if such a thing were to happen) would not even really be making their own choices — they'd just be banning people based off of some hierarchical system like the current cheater database, where someone submits a report and then it gets reviewed by someone. It could be a very intricate system, but I think that the cf community is capable of creating such a thing. The $$$4-6$$$ people would just be the final decision, but they have to be trusted ofc so they don't just ban anyone.
I think the problem with relying on contest authors to flag users is that 1. there wouldn't be such a system in place, so the decisions wouldn't be as accurate, and 2. I would bet that not all contest authors want to do such a thing.
Can we stop the racism towards India? India's population is more than a billion, of course you'd find the good and the bad.
There are probably still people getting falsely marked in cheater database I guess... For example why do some people think 16777mt16 is a cheater?
not everyone.
it seems that website doesn't remove users unless they appeal, so maybe, he didn't appeal?
i appealed on my alt.
I was talking about cf-cheater-database.vercel.app
he isn't a cheater....
Oh, now he is inverted, however the plugin and the database still showed him as a cheater 2 days ago. Thanks for the efforts though!
I don't think he was ever in the database (unless he was added by another admin of the database and his appeal was accepted by another admin, which is unlikely since I process most reports myself!!
From what I’ve seen, the community already does most of the hard investigative work. The bigger issue feels like how long good, well-documented reports take to get reviewed. Speeding that up might address a lot of the problem without changing who actually has ban authority
I agree with the first sentence. The cf admins just don't have the time for that, which is fine. But I think that letting the community have some sort of say in who gets banned would actually help fix any slowness in the current process (if there is slowness), cuz it would add so much more motivation to identify cheaters. Currently, if the community identifies a cheater, they may or may not get banned. And if they do end up getting banned, it might take a while for the admins to get around to it. But if the community had the ability to ban users, any cheater would get banned instantly pretty much (after getting confirmed as a cheater ofc). Think about how many more people would contribute to finding cheaters just cuz there would be guaranteed results.
Yeah, I get what you mean! Allowing the community to have some say would definitely make things faster, but perhaps there should still be a check to avoid mistakes. For instance, community reports could automatically flag cheaters for quicker admin review — providing the fastest results while still maintaining fairness.
damn
If we were to increase the work required to create an account here, by using mobile number instead of email for authentication, we would get rid of a lot of spam accounts. And the already existing accounts would have to add a mobile number to stay active.
Now if a cheater gets banned they would need a new mobile number to make a new account which is more difficult then simply making a new email, they can't just keep cheating indefinitely, they will run out of mobile numbers in their house.
This surely would require a lot of work on codeforces's side. They would have to integrate mobile messaging services for all the countries in the world to send OTPs. I genuinely think this should work.
Nah. "We need everyone to KYC" is the laziest and worst of the solutions to any problem. Papers, please?
Besides, I already used many services that "require" this for "safety" and guess what, I pay 0.15 usd on a random site and get an instant phone verification.
Codeforces should add a report system and a screencast feature. If someone gets a ton of reports, he will be labeled "suspect." After that, he will be asked to provide a screencast for future rounds, which will be reviewed by trusted, high-rated members. You could argue that it's still possible to cheat, but it will be much harder to do (especially for hard problems).
For example, in chess, if you want to win prizes in "Titled Tuesday," your games must be streamed. I don't know why Codeforces still doesn't require screencasts, at least for rounds with prizes.
I think that many people really would not prefer this, but even if it were 'the way forward', I don't think that cf has the resources to implement such a thing. In my opinion, that is why the community should play a big part in banning cheaters, cuz no big system like that is ever gonna get implemented by cf.
What resources does cf need to make a field for a screencast link that will be attached to a contest? Not only does it ensure some level of transparency, but it can help members find new setups, debug tools, etc.
How does it contradict my suggestion? Cheaters and llm capabilities are rapidly evolving, and in some cases its impossible to detect cheaters (especially if its done in a smart way). For example, CF setters can put some traps for llm which can be dodged by giving a screenshot of the problem to llm (not blindly copy pasting text).
With screencast, it will be much easier for the community to detect cheating. For hard problems it will be nearly impossible to cheat with 0 knowledge. We wont have a disaster like in recent meta contest. Atcoder is already asking for screencast(in future AGC rounds). I predict that in 2 years we will see many more cheaters(even among high elo participants). So asking for a screencast is a minimal and light version of proctoring which is inevitable in the near future, no matter how you slice it.
I do think that it'd be effective, and sure, they could have the resources to do it. But imo it's not worth it. There is no way that screencasts are a 'light version of proctoring'. Imo, a light version of proctoring is like what leetcode does, where they log your keystrokes when you're writing your solution on the site. Screencasts are pretty invasive compared to that. And I think that they go against the spirit of online competitions. But I'm not sure, online contests (or at least honest standing/ratings) might be hopeless without things like that.
I was also thinking of having something similar to how the hacking system works. Successful vs unsuccessful reports get corresponding response with points (maybe less points since it's expected to have more cheaters than wrong solutions that passed). Obviously the reports do not affect the user until it's verified to be a cheating case. Verification team can either be some team assigned by Codeforces or simply the round author(s) and testers.
each skipped contest — D6 roll to determine whether u get perma banned
and an animation plays of mikemirzayanov giving you the thumbs up/down, just like the emperor from gladiator
make each participant has x HP then each skipped contest they get damaged by the D6 roll,
D6 gives double damage and D1 means 0 consequence
Better would be to have some minimum threshold so that no cheater gets away with 0 consequences, and maybe ways to earn up some HP too (but nvm gamificationforces)
AI does not reason about problems the same way humans do, especially for Div1-level tasks that require math insight, constructive ideas, or tricky observations. Even when AI gives correct logic, the code is often verbose, with higher constants or unnecessary steps, which is risky under strict time limits. Also, Codeforces doesn’t judge only by final code, but also by plagiarism detection and behavior patterns. Consistently high-rated players.
damn AI was too retarded to even understand my post
Legend Bro Nice Experience.......
some platforms have 'respect' points per each user (similar to karma on reddit), which are given to you by other users. I'm curious to see if something with this would help — a report or dislike button, which is weighted by the user's respect, and conveniently placed alongside a submission, which gives participants incentive to look at their neighbor's submissions, and judge if they're ai assisted or not — too high a 'sus' rating would flag your account (would require tweaking to find something reasonable). additionally, we could give special rankings, badges, or whatever based on ratio of successfully flagged cheaters to help encourage / gamify moderation. we don't even have to ban the users, just mark them as unrated/bots, and rollback their performance until they're whitelisted again. this could trap a lot of false positives, but I'd argue it's worth it to stop the platform abuse. imagine codeforcers in its prime again — no more ddos'ing, no more cloudflare, no more cheaters with unearned ranks. make codeforces great again /s.
whatever the approach, the bottleneck currently is there's too much noise — blacklisting is slow. crowd-sourcing flagging cheaters and whitelisting accounts after an appeal instead would help stamp out most of the obvious cheaters.
Reddit is well known for abusing the reputation system (karma farming, clique formation, consensus formation, mod power abuse...) and it's definitely not an exception in that sense. At least the contribution we have now on CF is free of that because it's irrelevant. Even 200 contribution gives 0 power to silence someone.