Hello, Codeforces!
The situation involving AhmetKaan has generated some discussion. I would like to summarize the information we have reviewed and explain the reasoning behind our final decision.
About evidence
First of all, it is important to note that we cannot have absolute proof in such cases. We cannot see private conversations with AI tools, chats with other people, or other external sources of help. The only reliable data available to us are the submissions. Because of this limitation, some decisions are based on some red flags we see rather than a single definitive proof. If we do not act this way, we will get overwhelmed by a wave of cheaters. Therefore, we believe this is the only effective way to respond to the recent increase in cheating.
After the appeal, we reviewed the case and collected the following observations.
1. Codeforces Round 1085
- The submissions 365891594, 365892799, 365894412 and diffs to previous submissions in each look suspicious.
- The unnecessary renamings and spacing changes like
m1,m2->min1, min2here. - The unnecessary constant
min_infapperars and disappears from the template all the time. Does people even make such constants for-inf? Even for stress testing, would anyone even add it in such rush? - Each submit took him like 5 minutes and he claim that at tne same time he stress tested solutions, switched IDEs. Who could ever do all these things so fast? If it's possible, he barely had time to make so many solutions.
- Spacing changes are not consistent, for instance here some appeared and some disappeared, if it really was just IDE reformat it would be consistent.
- More than that he solved E2 in only 4.5 minutes. Only a few legendary grandmasters achieved a similar speed. At the same time, there was a noticeable loss of time due to implementing essentially the same logic in a different form in the following submissions: 365890875, 365893579.Can you imagine a person who would even touch that part which is already written in a rush? Who would rename an array while doing that? With lgm speed?
It indeed is enough for a ban, you can't just say "he codes chaoticly and thinks about all problems at the same time" to justify all these miracles.
2. Codeforces Round 1082
Reviewing earlier rounds, we identified additional cases that raised concerns.
364093865 — solved only 28 minutes after the previous problem, again at a speed typical of very strong grandmaster-level participants.
364083892 — a relatively large implementation written in 24 minutes, very custom structure, while AhmetKaan usually writes similar logic without using structures.
3. Codeforces Round 1081
363899193 — a major change compared to the previous submission, completed in only 9 minutes, with AI-like naming he's not tend to do. Both the code size and the underlying idea changed significantly.
Overall, these three consecutive contests stand out massively and has some red flags. He almost got from purple to 2500 in just 3 rounds, during mounths before he wasn't even close to that level of performance. Each contest individually raised some concerns, together they form a noticeable pattern.
4. Related accounts
We also found accounts that appear to be connected. He literally used alts two years ago which violates the platform rules:
- Kastamonu — an account that seems to have been used by multiple users, including him.
- KKKonya — another account used by the same person. Comparing submissions from the same period suggests a strong similarity in coding style: 199987492, 192884638.
5. Previous confirmed cheating cases
We also found previous instances of cheating:
Additionally, there are several more cheating cases from the past we just found:
- 164748868, 164767139 and 164767964 (he obviously just gave solution to his friend)
- 168172651 and 168158838 (note that the second one was submitted later)
And some more cases with the same person.
Many community members would consider these systematic violations sufficient reason for a ban on their own. We also consider it as a reason to not trust all excuses we got.
Final note
The only question we tried to answer was whether the original ban decision could have been incorrect. After reviewing the case, we believe that the collected indicators support the original decision.









