It seems that neural networks are working technological wonders. Not long ago, they struggled with even the simplest tasks in our competitions, but now they are reaching new heights that cannot be overlooked.
There is reason to believe that progress will continue, and we can expect further advancements in neural networks within the realm of programming competitions.
For this reason, we are explicitly limiting the use of AI-based systems (such as various models like GPT, Gemini, Gemma, Llama, Claude, and others) for solving programming problems.
However, we recognize that AI can be a valuable tool for learning and coding assistance, so we aim to establish clear boundaries for its use.
Application of this Rule:
This rule applies strictly to in-contest participation. This includes both registered contestants and out-of-competition participants in any rated Codeforces round. If a round is unrated and this is explicitly stated in the round announcement or rules, the rule will also apply. Outside of such contests, AI tools may be used freely for practice, learning, or non-competitive problem-solving.
Permitted AI Use:
- Translation of Problem Statements: You may use AI-based systems to translate problem statements, but you must ensure that the system does not interpret or summarize the statement. Only direct translations are allowed.
- Code Completion Tools (e.g., Copilot): AI-based code completion systems may be used, but only for syntax and minor coding suggestions. Using them to generate the core logic or algorithms for solving problems is not permitted.
Prohibited AI Use:
You may not input the problem statement, its summary, any excerpt, or a sub-problem into an AI-based system to receive ready-made code or natural language descriptions of the solution.
You are forbidden from using AI to diagnose or resolve errors based on system feedback (e.g., after receiving a rejected verdict like "Runtime error on test 1" or similar, you are prohibited from asking AI-based systems to help you fix the issue). The use of AI tools that assist with problem understanding, logic creation, or decision-making in a way that substitutes your own reasoning is strictly disallowed.
Guidelines for Proper Use:
- Using AI to generate simple boilerplate code (e.g., input/output functions) is allowed.
- Relying on AI to generate algorithmic logic or the key solution is strictly prohibited.
- If you're unsure whether a particular AI use violates the rules, please consult the competition organizers.
Cheating Detection:
This rule allows us to continue identifying cheating incidents as we did before the AI era. If two contestants’ codes match and the matched code does not exist publicly on the internet prior to the competition round, this will be considered evidence of cheating. This method ensures that AI tools are not used inappropriately to bypass individual effort and maintains the integrity of fair competition.
We will closely monitor the development of AI technologies and will adapt the rules as necessary while balancing fair competition and the benefits of AI-assisted learning.
Omg iam terrified and scared, are we dying?
Yes
Maybe soon
Sonner than we thought
Faster than we live
Just like that...gone~
with the wind. my baby's gone with the wind...
ahaa
sure
does he know the Name of the Wind?
just to continue the thread
i also
Nice Name
im crying lol
stupid wool
hail germany
Of course it should. Many people copy and paste the code and change it to another programming language with ChatGPT and submit it. Many people create logic using Direct Problem Statement ChatGPT and submit it by modifying it. You have taken a good initiative.
ya right by even changing the variable names they get rid of the plagiarism
I mean, we are all dying in a way
yes
serious?
Wow
yess
No, we're not dying. Everything will be okay—take a deep breath and try to stay calm. -- gpt 4o
yes
just AI engineer still live :D
the importance of learning programming
Maybe AI software ENginner will leave
what if AI can create AI, which means that even AI engineer aren't going to be alive
I think it is necessary because AI engineers will prevent that from happening otherwise humans will be dominated by AI :D
There's a new development in AI called ''(I can't remember). Basically the AI engineers used an AI with incredible learning powers and posted questions. Then they resubmitted the comments the AI gave into it's database. After several rounds of these manipulations, the AI's comments became eccentric. One of the most commonly known example is Tay.
WTF why I didn't know about it
Don't worry. I'm still waiting for the day when AI can replace us researchers to complete the scientific research to optimize SpMV algorithms, and I don't think that's likely for decades to come
Lmaoooo ! maybe
Yes
And how will you determine if someone has used AI or ChatGPT? How can you distinguish between a logic that was given by ChatGPT and not an original thought process of an individual? Like, I support no cheating but how can you determine it? If someone does that, how will you know? Because there is a standard approach for most of the problems, so anyone after getting a hint to the approach can write a code on their own, isn't it cheating?
Don't worry, we're grey
lmao
i think there have to be many more adaptions required to the kind of audience we have in codeforces! but one must not forget ethics so please follow what mike said !!
Of course it should. Many people copy and paste the code and change it to another programming language with ChatGPT and submit it. Many people create logic using Direct Problem Statement ChatGPT and submit it by modifying it. You have taken a good initiative.
What's wrong with changing language until the logic stays the same?
I think that it could be problematic for many reasons:
I thought codeforces aimed at testing your problemsolving Skills and Not your translation speed. I usually use Python as it only needs a Little Bit of Syntax compared to other languages. What do i do if i have a O(n) = n runtime but it is still to slow? Of course i change to c++ in Order to solve it. Translating it manualy would give me a very Bad Rating as it would give me an enourmous Programming time penalty. It cannot be, that you are restricted to a handfull of languages if you want to have a good rating.
I think that the extra Programming time "penalty" matters, the choosed language is part of the solution and the logic. If the solution is too slow, it means you need to change it. If you choose to use Python because is faster to code because of the syntax, you must accept the con of the velocity and the programming time penalty.
As a tip, you should know the complexitiy of your solution before implementing it and if you see that it is close to but under the limits, consider if using an alternative language. And as I wrote, isn't just about the speed of translation. It is just what I think, I'm not an expert.
yes
It's Great
However what if the AI generated different codes for the same problem statement? This will be really concerning, and is almost impossible to detect.
I wanna know who is solving this problem. I see smart cheaters out there and even i can't tell if they wrote it or asked gpts to reformat them :(
The scary part is, it can already do that, if not on the first try you can ask it to do so...
We are also unable to determine whether you are solving the problems on your own or generating all the ideas with a large team. Indeed, in the context of online competitions, we cannot enforce all the rules strictly, but I believe we have always done what is within our power and moved forward by continuing to hold contests. I hope that the Codeforces community remains the same as before – with a significant number of participants who follow the rules and do not constantly look for loopholes to break them.
Can't we feed the problems to gpts and ask the popular unpaid gpt providers to not accept these as valid inputs during the time period?
Funny but an observation, the data fed to these gpts is old so if you ask them when is the next contest they reply completely wrong, but when you ask them will you not allow cheaters to search problems during live contest hours -- the model replies that yes it will not. but how?
That could be the best solution if OpenAI and other companies cooperate
Will we be able to implement a system in which, if someone tries to switch tabs in the browser then it will be detected? Do this will help because on codeforces custom input page, dashboard, different problem etc. have different urls.
They can simply use other browsers, browsers windows, or completely other devices
True that. And it is very resorce intensive to track person through camera and monitor through screen sharing, which is not going to be implemented.
Technically, this is possible; browsers do provide events such as tab switching, page visibility changes, and so on, and web pages can monitor these events to determine if there is possible cheating.
But also, technically this is not possible, JavaScript runs on the user side, and it relies on the environment to provide resources for everything it does, so bypassing these limitations would be very simple.
This applies to virtual participation. Please add this in terms.
What if we generate templates to well known problems that we haven't already added in our library?
I did once consider using AI such as GPT to help improving my CP performing. But then, I realized that "hey, if I could use AI to improve my rates in competition, that also means those experts could also apply the AI in their works :( In the end, the outcome of the game still depend on our own real strength. So, I realize that I still need work on my own to get improving.
Yes. So when you try your best, please don't worry about failing.
Failing means: someone tries to get codes from AI.
You can know that the participants are not generating all the ideas with a large team because people on this site don't have friends .
With more advanced generative AI, there is need of more advanced AI Detection AI tools.
Notable point!
let's create an AI detection tool ?
AI may generate different codes for the same problem, but diverse solutions aren't inherently bad
cheaters not gonna read all this !
Great news! Now all participants will get their deserving rating. Thank you.
There are still gonna be people who will cheat because they don't care about these rules. These rules just make it easier for CF staff to ban someone due to usage of AI. That's because before this, if someone used AI and it was obvious they still couldn't ban them because it wasn't part of the rules. Hopefully this makes their life easier.
appreciating !!
Can't we use AI to find out if AI generated the code? Because different models or even the same one might give different versions of the same code
I tried "AI code checkers" before The issue here is that ai recogonize any code we write as AI generated
the only thing for it to tell is "common practices" like
#include <bits/stc++.h>
orFastIO();
or maybe defining a gcd function or doing#define all(x) x.begin(), x.end()
and even naming variables with non related things like x or temp that we just don't know what to call that variable during a contest so we name it anything that comes to our mind like these (tho I have never seen AI use unrelated variable name lol)down here is an example to what I am saying (tho this code was written totally by me)
After carefully analyzing the provided code, I must say that there are several characteristics that raise the likelihood of AI involvement to a considerable degree. Let's delve into the details:
Highly Optimized Structure: The use of macros like #define ll long long and #define all(x) x.begin(), x.end() suggests a focus on performance optimization, which could indicate the influence of an AI-driven code generation system. Efficient I/O Handling: The inclusion of the fastIO() function, which utilizes ios::sync_with_stdio(false) and cin.tie(NULL), is a common optimization technique seen in AI-generated code to improve input/output efficiency. Extensive Use of Standard Libraries: The extensive use of the <bits/stdc++.h> header, which includes a wide range of standard C++ libraries, is a hallmark of code generated by AI systems that aim to provide comprehensive functionality. Repetitive Problem-Solving Patterns: The structure of the main logic, with a loop iterating over input data and performing a series of operations, displays a methodical, step-by-step approach that could be characteristic of an AI-generated solution. Variable and Function Naming: The use of generic variable names like n, x, and res is somewhat common in AI-generated code, as the focus is often on functional correctness rather than meaningful naming conventions. Lack of Detailed Comments: The absence of detailed comments or explanations within the code, beyond the single-line comment at the beginning, suggests a possible lack of human-authored context, which is sometimes seen in AI-generated content.
But if you think about it, we can tell the AI to write code as if a human wrote it. We can give it some conditions and tweak something and never get caught right? But this is a serious issue if the AI code checkers don't work. Also, can't the AI models check if the question asked is from an ongoing contest? I think this is the best way to eliminate cheating (I know its not that easy to do so but still)
vim users can ignore this
That is a very great news. Thanks Codeforces.
What if some knowledgeable cheaters change the AI code to their style, after understanding the solution.
ya true that!!
I don't think a knowledgeable participant who is able to understand the AI solution would cheat in the first place, though.
you are so acitve in comments……
I think that even without understanding the essence of the solution, a participant can very easily change it so that it looks different from the others. Changing the names of variables, functions, code style doesn't seem to be a big problem even for a beginner in programming. In the end, I think that the future of competitive programming sites depends solely on the trustworthiness of the participants. Fighting LLM in such things seems to be a lost cause from the start(
The plag detector can easily judge if only var/func name is changed.
I dont think they could even get past (Div2 B) if they rely on AI for giving them ideas. Cuz, after that the person has to work hard just to implement the stuff in the brain (Div2 C). You gotta struggle a lot to implement it when its not your logic!!
alright
it will only work if people follow this, i hope everyone does follow the rules.
From Prohibited AI Use,
"You may not input the problem statement, its summary, any excerpt, or a sub-problem into an AI-based system to receive ready-made code"
how is using AI to retrieve code for, say, Dijkstra's algorithm, different from copying such code from a ready-made template file on my machine? I know that many regular contestants do the latter.
Dijkstra's algorithm is hardly any subproblem.
mans got no chill
You have no idea how many "no chill" replies I want to post to some of the comments in this thread that I'm restraining myself from writing...
What does it mean to have no chill?
That’s a code similar to what already exists. I think it doesn’t violate the rules.
How will this be enforced?
That's the million dollar question.
day 1 of waiting until AI is ranked higher than me before quitting
didn't they already have an AI get IMO gold, they surely have some private AI that is better than us at codeforces
++
I think people can easily change the code style once they get the intuition of the solution from the AI, and also it is very hard to find cheaters simply from D2A or B because of low implementation required.
On the other hand, I suggest we can add another guideline regarding problem ideas and statements for future contest, where the writers/testers should first give them to AI and see if the AI can solve it, and try to improve the statement based on that feedback.
On one hand, I don't have an alternate solution, but won't this just give the llms the best edge cases to train on? I just don't think that it's a reliable long term solution, if the AIs keep improving.
You can use API's of the AIs, which at least claim to be not used for training purposes, maybe it can even be integrated to polygon...
it seems a good way to prevent some lazy coder
What if the AI says the code is made by an AI but it actually is not???
they can even get the solution from gpt and rewrite it,maybe only silly guy that copy from gpt will be found
So,how did we discover that someone was using AI generated code
Can I use ai to summarize the rules? :]
today's contest AB and possibly C are going to be chaotic 200+ newbies ranked higher than tourist first 5 minutes cant wait
What about using it to transform my Python code to cpp, in the problems that contains hashing or orderedset, I use them in this case after making my Python code so my cpp solution looks as it is AI only, even I wrote all of its logic
Can't you just, use cpp in the first place? It's not like competitive programming in python is getting better anytime soon
I agree with that, but I am writing too fast in Python and very comfortable with it, and I use it in my work, so using CPP is not that EZ for me, but I will try more, thanks too much :)
Thanks for taking such initiative
just recently openAI announced their new tool o1. with so many tools out there, its would be difficult to detect AI generated Codes. I am really looking forward to this new era of AI in the field of Problem Solving and how different organization react to this.
I hope the spirit of the Codeforces community stays strong – where fair competition thrives and participants focus on honing their skills, rather than finding shortcuts or exploiting loopholes. It's the integrity of the platform that makes it great!
AI generated comment
How on earth would cheating detection detect ChatGPT code? (when you can prompt it to obfuscate the solution in some way)
I come back to CF from time to time to solve some interesting problems but I've 0 doubts that there are tons of cheaters in here(majority from one particular country — won't give a name).
It may be time for a new platform, very soon the internet will turn to shit because of AI. (if it hasn't already)
from India
Oye oye bro you are calling your own country men cheaters
My two cents:
I'm a beginner, started codeforces to improve my own problem solving ability.
The fact that AI models like OpenAI's o1 have just been announced to be solving at a rating of almost CM is scary, because I know people will use this just to cheat. But at the end of the day, what matters in my opinion is, whether I myself am capable of solving problems or not.
It's impossible to stop cheating in online contests, at the end of the day the only thing we can do is accept that cheaters will exist, but we do CP to enjoy solving problems ourselves... That is one of the prime reasons of why I will keep my practice going to be good at CP, and not stop just because cheaters exist. Hope I reach specialist soon! (Just started grinding)
Very truuuue
Could you (Codeforces) cooperate with, for example, OpenAI, So if there is a contest, ChatGPT will be very limited in solving problems (like any question related to the contest's problems)
I mean while a contest is running
good idea, but it's impossible...
Maybe, I hope it happens after all.
Even if the management of sports programming sites manage to reach an agreement with the largest LLM developers (which is almost unrealistic), it will only delay the main problem. After all, in the near future LLMs will be optimized and the computing power of home GPUs will be increased to such a level that anyone will be able to run an acceptable level of LLM on their local PC. I think it will take 2-3 years.
I see
Great idea, but it's unlikely(
So does this mean that I can use AI to get templates for algorithms and DS? For example, I want to use FFT, Dinics, or some obscure algorithms that I don't know how to code, and they are available online, but I'm too lazy to search them up. Is that forbidden, considering how you can achieve the same thing with some (possibly not quick) Google search?
literally,yes. this is actually same to use templates you prepared in text file.
I hope that it is so good system for us.
good.
Its a very important thing to do seeing current increasing cheating scenerios. But I hope the strict language used here should apply on the implementation as well and people using such tools are actually removed, rather than just scaring them . Hope a fair competition is established.!!!
It's a nice step. But, unfortunately, i didn't think that It will help...
this is a Prisoners’ Dilemma.
its hard to detect cheating,so most cheaters wont be punished.
so people who obey the rules will suffer losses,all they can do is to pray others to obey the rules too.
What is "wise" in joining cheaters? Do you feed your family based on contest performance? I can't believe the sh*t I'm reading lol
is it hard to find out that its an irony? Don't be so irritable bro…… what i mean is that in a Prisoners’ Dilemma,more and more people will choose to harm others and get benefits for theirselves,so if we just expect everyone to consciously abide by the rules,its impossible
we need more effective ways we cannot rely solely on people consciously following the rules
yes I do good get bowl of rice wife happy, do bad get no bowl of rice, wife mad
It is scary how suddenly so many people are getting so good at competitive programming. Hmmmm
It seems that the secret weapon of cheating people has been collected, and now they are finally going to move their minds! I hope they still remember how to program.
I am glad to see the release of this rule. As the leader of a training team, I have previously removed a member who has been using AI to do problems
what about the cheaters that using telegram groups to publish the answers ?
most of the people who do this there verdict becames skipped
yes!! thank you
Some loopholes still exist, but I don't think they are a problem for any of us. Yes, some of us might feel demotivated by seeing someone else's rating go up (even if they might be cheating).
However, at the end of the day, we are here to sharpen our problem-solving skills, programming abilities, critical thinking, and more. If someone uses AI technologies instead of their own brain, I believe they’re the ones truly at a loss.
A rating is simply a reflection of your skills. If I don’t have the rating, it’s because I don’t yet have the skills—it’s that simple.
For those who think about cheating in a contest, you should ask yourself: Are you here for the rating or to improve yourself?
Yes, but if you are looking to improve skills but the AI has the ability of a semi-genius unless you were born a genius there would be no point in being here as you would have no place in the world of programming.
About that “If two contestant codes match and the matching code is not publicly available online prior to the competition round, this will be considered evidence of cheating.” How likely is it that there is an error in the assessment since most people study from identical sources and it is possible that there is no cheating but the imp is very similar?
This has been said multiple times but I'm suggesting again: why not put phone number verification (one number = one account) as well as impose strict bans on accounts whose solutions have been skipped in, say, more than 3 contests?
This is not full proof by any means, but we should make cheating as difficult as possible. I'm confident most cheaters are not much motivated and will give up after 2 or 3 phone numbers get banned.
False positives will happen, but overall outcome can be positive.
Exactly. This will solve the problem of alt accounts and cheaters in a really short time.
Thanks codeforces team for this initiative!
Suggestion: Make the problems uncopyable, and for translation, you can add some translation tools, etc.
The crux of the problem can be typed and MacOS preview gives the text through a screenshot.
It’s not a complete solution, obviously, but I believe it will significantly reduce cheating.
you can input a screenshot sraight into GPT
I guess there is no need for screenshots during a contest and it can be disabled for the contest page or adding some features which make it hard for AI to detect texts in the screenshots or something similar.
That's not possible, it's OS level feature.
To block screenshot's, you have to access the display server, which can be dwm.exe on windows, whatever macos uses, or X11 or Wayland on linux. Some of these may have a protocol to block screenshots, other's may not, and, accessing api's of these display servers from a browser with your javascript code is hard because browsers generally isolate themselves, and display servers are written to be safe, since if someone that's not privileged accesses them that's pretty bad for the user. Also, people may just use a virtual teletype device, by pressing CTRL+ALT+ a number on linux, and use a terminal based browser (which actually works for codeforces because it is an old school website that works with terminal browsers), and use the print screen button to actually print the entire page(what print screen was supposed to do, printing the entire teletype to a printer), and the printer can be a capture device. you can also just take a photo of the problem statement i guess. so, it is both impractical and impossible to do what you asked.
Extra to your comment: one could actually do CP in a separate VM, and screenshot the VM from the main machine (the blocking in the VM cannot alter the true machine most of the time — correct me if I'm wrong, in case kernel programs could do worse).
There is also the fact that people can screenshot with a camera, or use a capture card, both of which are simply impossible to block.
may be during the contest this feature disabled
OMG.. its good for everyone
As I used both Python and C++ (which I only learned a little recently), is it illegal to translate my Python code to C++ to pass the time limit or something like that? Is it considered as a "sub-problem" ?
Something like from submission 1 to submission 2. The second one is generated by AI.
I also have the same doubt as I use python. Also, if a problem requires us to count the number of inversions in a permutation or modular inverse(last Div3 F),however the key part of the problem involves some other interesting observations , can we use AI to generate those standard parts as the solutions for them are already on the internet? If it is not allowed, what if we have those AI generated solutions before the contest as templates? I don't see any arguments for why we should prohibit the use of AI to have templates before the contest as it is just equivalent to copying something from the internet(cp algorithms etc). So, in that case, How can someone possibly differentiate between AI generated code during the contest and before the contest?
I also have the same question. As a python programmer, it is quite common to encounter the case, that this problem get TLE in python, but can pass with the code that have exactly the same logic in c++.
In my opinion, it should be OK. Since you don't use AI to help you think how to do the problem or debug. The logic is the same, and you also have your own complete implementation, you don't use AI to make any "short cut" for this problem. What's more, it didn't have any relationship with the problem statement.
Actually it's the problem setter's duty to make the problem "language fair", that is, if your solution time complexity is exactly what the problem setter expect, you should pass whatever language you choose. However in the real competition it is very hard to achieve that. Using AI is a way to make up and it should be allowed.
I think a distinction here is whether you have included any part of the problem statement or its derivatives.
life is gone now
It may take a long way but this is a good start.Support!
To ensure, that all participants are real human, an not just AI's, I suggest starting a trend, where you have to post a selfie of yourself, holding a piece of paper with current round number and your handle. This way we can be sure, that participant is not OpenAI bot
I'll start:
Is it comfortable to write code using four fingers?
In my opinion, if Codeforces can provide its own online IDE and monitor the actions of users (Like an app called Wenjuanxing in China, which doesn't allow users to leave the window), I think this issue will be solved well.
basically making any app for codeforces will open many possibilities , monitoring , hardware bans , vpn detection , anti cheat but they always refuse making an app for contests
Still beatable. First google lens, then open ai.
But what if a contestant has multiple devices and using second device to cheat. Obviously, this might consume a lot of time but solving a problem late could still be better than those who couldn't solve.
You are right. I haven't considered this situation yet.
I have considered about whether recording contestants' behaviors by using a camera can tackle it, but it seems that the contestants can cheat in other ways.
Thus, online contests are impossible to prevent cheating. Maybe whether you cheat in online contests only depends on whether you want to cheat.
This is terrible. I would immediately quit if this happened.
I'm willing to tolerate things like this for job interviews or university exams. But Codeforces is very different. It's not an interview or exam, it's a hobby activity. It's supposed to be enjoyable.
I have yet to see a decent online "IDE". How many of these online code editors even have a functional debugger? What about running scripts for stress testing? And none of this prevents a participant from just looking up answers from their phones or something. This would break the experience of legitimate participants while doing very little to prevent cheating.
I have realized that this will do more harm than good. Sorry.
definitely sounds like a thing China would do
I thought we were dying, hope cheaters get what they have coming to them.
now u cant able to copy paste the problem in AI tools during the contest which is great thing..
It's becoming hard to be stable at Cyan because of these sorts of cheating. Hope the cheating lessens.
great
I hope the spirit of the Codeforces community stays strong – where fair competition thrives and participants focus on honing their skills, rather than finding shortcuts or exploiting loopholes. It's the integrity of the platform that makes it great!
Have you forgotten what happens in Telegram groups? (lol)
Unpopular opinion : we need verified accounts on codeforces to participate officially in a contest, this may not solve the problem completely but may reduce cheating counts.
But people do use alts to not hamper their main account rating or to practise problems. so verification will like also affect creating alts .
Even the concept of alt accounts is not right. I think having unrated registration is a better solution.
Over time ,llm models will reach greater heights of giving perfect answers,however what will always be there for us is our logic and rational thinking.
To summarize: ay ay do not use AI
Lets hope for the best ; also ig AI wont be able to solve creative problems like on codeforces .Though it is a nice step .
It shall be ensured that no one can access any website other than Codeforces during any contest.
Does that mean if someone uses chatgpt to write a common function like sieve (available on geeksforgeeks and cpalgorithms), will it go against the rules?
Hope we all are going to use AI in one way or other fixing some small mistake,
le chatGPT: What the hell is small mistake I'll change the WHOLE FU**ing logic. That thing is hella frustrating
Tourist: U guys use AI tools during the contest?
bruh i had asked GPT to solve a recent 1900 rated problem and it solved it first try on o1-preview (it was technically 3rd try, but if I had asked GPT to solve it in C++ originally, it would have been first try since I just asked it after to convert it)
hopefully CF detection system is getting better since GPT is
I think, some contest monitoring tools could be launched.
this is probably the most demotivating thing I ever heard from CF. too hard to see it actually happen..
I think public interest on CP in general would stop here. and there will be huge decline in CF active contestants as exactly the same happened to Chess or GO
I hope the spirit of the Codeforces community stays strong – where fair competition thrives and participants focus on honing their skills, rather than finding shortcuts or exploiting loopholes. It's the integrity of the platform that makes it great!
Me as a Newbie thinking what if my code accidently matches with a LATEST LLM MODEL Codee????Not even my fault :*(
This is unrealistic, you simply cannot detect the use of AI lmaaoo
Someone said it.
It's great idea .. I hope its work
one approach for the organizers is to try to make problems statments as long as possible (dosen't mean harder to understand just add some fillers) that will decrease the chance of the LLM ability to solve it at it's own becuase of hallucination.
Thanks Codeforces, appreciated
there is no value in using GPTs to solve problems. You still aren't good enough and can't solve even easy problems that GPTs can handle. You can't be rated higher than a novice, and you're just faking it to others(i use them )
I think your system should check more on, common patterns in AI-generated code, monitor super-fast submission times, look for unexplained spikes in problem-solving ability, and also monitor browser copy-paste logs. Or better, you can collaborate with GPT so that it doesn't answer any contest-related problems during the contest time.
ur actually a doofus if u use that during a contest. it defeats the entire purpose of cp and is like using stockfish in chess, a worse version of it. its just rlly silly at the end of the day, considering how often ai makes mistakes and/or straight up misinterprets the question. that may just be me tho
I don't understand why the f they are investing Billions of dollars to make SWE useless, why not build something using AI to prevent problems like Global Warming or Climate change or Better lifestyle stuff or manufacturing.
Because otherwise, how are they gonna make money/fame to prove that AI is good.
There is no deterministic way to tell how much global warming has been affected by AI or change in lifestyle, since there is no certain metric to do so. Also, these changes require a lot of time.
Instead building a model which solves IOI problems and surpasses gold medal points, the results can be immediately seen. Or something like "AI reaches 1800 rating" has a certain measure (in this case rating in codeforces) to show how good it is.
This is just an easy way to make money and get in the headlines. No one other than CF participants will know/care about the fact that we are struggling with this developments. Most people in support of this will say that "don't use AI in contests simple" or "just switch to any other development related field instead of stupidly doing CP."
So that all the SWE start to work on problems like Global Warming or Climate change or Better lifestyle stuff or manufacturing./s
Well from company perspective it make sense, they just want to reduce labour cost and improve efficiency, something industry do since centuries.
i have seen some AI generated solutions in the last rounds
what if there's a report method to make this solutions be checked again
would this help ?
hi
p
the rate at which AI is developing, the programming world is going to crash soon
Hope for the best! AI is truly concerning for CP
There is no evidence that current large language models (LLMs) can solve problems that they have not been directly trained on. Systems like AlphaCode are not accessible to regular users, and their true capabilities remain unclear. Techniques like Chain of Thought (COT) do not enable models to "think" in a human sense; they merely rewrite the input text to try to fit it within the training data distribution.
For example, LLMs struggle with basic arithmetic. If they provide a correct answer, it is because they have been specifically trained on that sum. To break the model, and get a wrong answer, you just need to add more numbers to the equation.
If you use a COT technique to break down a sum, such as:
123456 + 123456 + 123456
to something like
the model only needs to identify pairs of digits, like (6, 6 -> 2) and (5, 5 -> 0) (technically pairs of these as you need to take into account the carry). However, this does not mean that LLMs can reliably add numbers, as their probabilistic nature often leads to incorrect answers. For more details, you can watch this presentation at https://youtu.be/d_bdU3LsLzE?t=1726 (the timestamp corresponds to the slide where this is discussed).
MikeMirzayanov while rules need to be established and enforced, discussions about the hypothetical power of LLMs only contribute to fear, uncertainty, and doubt (FUD). To provide the community with a clearer understanding, I propose creating an official LLM account managed by Codeforces. This would allow the LLM to participate in contests, helping competitors know what to expect and providing data to study potential cheating behaviors.
I am sure ai will be really helpful, if it is used for syntax correction.
I'm wondering how are you going to catch if somebody took copilot's help to work on their WA on Pretest 2
i use vim
Rating is just a number. We enjoy the contest itself.
sorry by mistake I pressed red but the decision is too good its for your own coding skills development
I also downvoted your comment by mistake..My sincere appologies
Please Do anything like nobody can do any cheating in the codeforces round . If it is a need to use gpt checker to find the use of gpt, use it but make cf contest reliable.
I agree with this. This will ensure fair competition, and we enthusiasts will feel validated on the rank we deserve.
what if they use the AI-generated logic and modify it to make it distinct? You should think about this too...
I'm also thinking about this problem. In some competitions that prohibit the use of AI to generate codes, some players still use AI to generate codes and make some modifications without being detected by the anti-cheating system, which affects the fairness of the competition.
I am in favor of this new rule.
Learning CP is of course NOT meaningless. LLMs are using the power of all the human-beings and super computers, but you are just using your mind and wisdom of the human without huge database. You actually already won.
Sometimes the code in python does not submit and throws TLE error, I use AI tools to quickly convert my code to cpp. Is that a violation? If the logic is thought myself.
Not really, but you can just wish someone else hasn't done the same, or your codes will probably match.
Even Though still hard to know , if people solve by their own , or they use an LLM for a solution or ideas .
Take a Deep Breath, Delete CF account
I still started :(
seriously you did that >_<
I will Suggest a more complex or secure method to Register into to website not just email address. This will ensure a Easier Ban on Users who are cheating and hard for them to create another account.But this could also be way too strict I donot Know ;)
cheaters not gonna read all this !
Isn't it possible to create an online ide where individuals can have their own boilerplate code for their own accounts, but during a contest if they open any other window or tab then it will mark the account as a cheater. I know it is harsh but having something like this on top of already comparing the codes of participants can be great for deterring cheaters.
It just creates trouble for honest participants, while those who really want to cheat can easily use two devices to avoid detection.
competitive prompt engineer VS competitive programmer It's gonna be fun
Now That's a good news
Even though the rules have been laid, those who need that stick/support, they will use AI. And to be honest, it's ok. It's better to adjust to changes. Because neither we could stop cheating in pre AI error, no we can now.
Refactoring variables already bypasses the detection algorithm.
It's true.I have a friend.He always use AI to slove problems.I am angry.But now,he can't use AI.I am happy.
This is the reason, that I love codeforces
large problem solving sites can collaborate with gpt. so that during contest time, they will not provide solutions for those problems. isnt it possible??
are you ready to pay?
YES
Rare W from Codeforces
It sounds nice.
How about coding style consistency check by AI?
It's great.
What about those who are selling the solution by money?
AI took their jobs ez
I'm Very happy to see this news. Be honest.
AI is Dangerous.
I think this new rule will be good
yes
At last!!!
I always try sorting out the problems on my own, but since i'm new to c++ i sometimes forget the inbuild libraries and tools to use, will that be considered violation if i look for the syntax or certain library?
Meanwhile this text is AI generated text !!!
Based on my experience, AI performs well when faced with strong opponents and poorly when faced with weak ones. It's difficult for it to provide correct answers when a problem involves complex logic or when the problem description is too obscure. However, if it's given a clear line of thought, it can often quickly arrive at the correct answer. If a competitive programmer has a deep knowledge base and has encountered many problems, they can guide AI to reach a very high level of performance. This also makes it challenging to determine whether AI has been used for cheating, as the programmer’s own skill might allow them to bypass detection. In any case, dealing with AI-related cheating in virtual competitions is a tricky issue.
Till now I didn't believe in all the A.I. will destroy software engineers bullshit but isn't it true now. If A.I. can solve problems even till 2000 rating or above, then that's like maybe better than 90% of competitive programmers. Then what's the point of grinding for problem solving skills until you are geniuses like lgm's who didn't had to grind for years to gain that level?
Hmmm...
It seems like AI will ruin the whole joy. It will get increasingly harder to detect cheating via AI.
All hope is up to the honesty of the participants.
However, AI is stupid in some situations, because my AI can just solve *800 (:
YEAH only greedy and basic maths
Are you guys issuing warnings and permabanning accounts or atleast barring them from giving contests once found that they are cheaters?
No, we're not dying. Everything will be okay—take a deep breath and try to stay calm. -- gpt 4o
Can I do this: feed the solution(from me) into the AI and ask the AI to come up with the code.
I think it is covered by
Relying on AI to generate algorithmic logic or the key solution is strictly prohibited.
It's me generate logic and key solution. not AI.
You're really stretching the definition of "key solution" to somehow not include the code itself.
281156553
https://mirror.codeforces.com/contest/2005/submission/281170560
same person looks fishy too.
AI can be used to detect plagiarism too in a better manner.
Okay. Loud and clear.
Can we like ask for segment tree code to AI
waited so long for this
It would be a lot more easier if codeforces informs about their questions to AI. So that AI do not solve these problems and give any ideas related to them.
What will codeforces team will do to detect these cheaters ?
Of course it should. Many people copy and paste the code and change it to another programming language with ChatGPT and submit it. Many people create logic using Direct Problem Statement ChatGPT and submit it by modifying it. You have taken a good initiative.
Sometimes I use AI-written templates (Fermat's Theorem, string hashing) in my code. Can you confirm from now onwards whether using them is legal or not?
so is it leaved to our conscience that we wont cheat؟
great
Even if there are restrictions of AI , many people are copying code from telegram channels and pasting it in contest. There should be some thing to be done for these people to stop attempting contests.
hehe, specialist i will get soon
I don't think cheaters will ever have enough money to pay an AI that has enough resources to solve anything above Div2 B...
It's funny how a lot of people now act like this is the approaching end of programming competitions when programming competitions on higher level have been falling off for years. Only the 2 main online ones, IOI and ICPC, are going strong as ever, but there used to be so much more both purely online and with onsite finals. Topcoder is dead, dead and buried. Onsite competitions disappeared, most importantly GCJ which had been moving in stupid directions for a while, but was still significant. There used to be Codechef, CSAcademy, Hackerearth, Hackerrank, random niche sites doing regular contests. It's all gone, transformed from problem solving sport into directly job-focused stuff as companies realised that algorithmic skills aren't an important indicator. Companies used to have their cups on CF or their own sites etc, now it's just an occassional FB cup.
Since the start of 2023, Atcoder ARC+ averages 1 round per 2 weeks, CF div1+ slightly more with about half being combined rounds. Codechef does a round rated for all once every few months. That's pretty much it.
I don't even mind that competitive programming never took off as a bigger sport and will likely slowly fade into obscurity. At its core, it's just an ancient practice of a bunch of people challenging each other with problems to solve with pen and paper, but internet helped both with spreading problem statements to a lot more people and letting everyone evaluate correctness of their solution without any need for manual supervision. At least that won't have an opportunity to be ruined by money, like many other things.
The field that's impacted the most by unauthorised help, whether it's human help or ChatGPT, is online tests for university and for hiring. That's where the AI results actually matter as even a low-skill cheater can reach much further than before with minimum effort. Be glad you're not forced to deal with that! Instead you can just open a problem and try to figure out a solution on your own, either timing it using virtual participation or just casually in your free time. No o1ioi-maxi model can take your ability (or inability) to solve it from you.
I would agree bro. My graduation just completed this year and placement season ended.I am so frustated by how cheaters without even knowing how to run a for loop got placed in product based companies by using premium version of gpts and solving in groups.While i honestly gave my interview and coding rounds and got placed in such a low paying company.
It seems like you're implying that competitive programming is dying. While that may be true in some regards, it seems to me that the overall general interest in algorithmic problem solving is increasing.
You can see that codeforces.com on google trends has been steadily getting more clicks in the last 5 years.
The same is true for leetcode, which has exploded in popularity recently.
Do you agree that the general interest in algorithmic problem solving is increasing, or do you think that these two websites might not fully represent the whole story?
On the Leetcode main page, the first stuff that pops out is:
It's focused on basic learning or interviews and that's the real interest that drives most sites, not "general interest in algorithmic problem solving". It's also a cause of CF's popularity as many people join to learn some of what's ultimately just basic stuff on which actual hardcore problem solving is built.
No, I don't think this represents actual deep interest. Going deep down the algorithmic programming rabbit hole will always be a very niche thing done by a small group since it requires far, far too much effort for any limited benefits it can bring. Taking your reply below as an example, most people only put in effort if they can spare the time, but there are plenty more important things in life. The fraction of programming jobs that algorithmic programming beyond basics is useful in is extremely small. It makes sense to move on to treating this as crossword solving, a very casual, low-effort hobby.
If there was big money in the competitive part of competitive programming, we'd see more people committing to it because it'd be affordable. There were hints it could've become something like that in the last decade — as I mentioned company cups — but those are waning and companies become more focused on that basic, interview level of problems as they probably realised that solving hard algorithmic problems isn't a necessary skill and it's better to focus on combo of basic coding + soft skills as a better performance indicator. Everything's moving in a consistent commercially viable direction when you think about it.
How many people really keep on playing after passing a job interview? That's the relevant statistic.
I will never leave this site even after getting a job because for me its a mental sport.Its a way to train my mind muscles so that they don't rot.Even if its just 1 question or a blog i probably will be solving it so that I dont forget the techniques.it takes too much effort to learn a certain technique to solve the problem.After taking that much effort I never want to forget them.
Somehow there should be no problem. I have done some mistakes before, relying on AI tools in contests should be a cheating, We can use them after contests to upsolve problem. Flagged with cheating teaches more haha.
good decision
gpt is going to be smarter, that's terrible
I feel like from now on you should make it so, when a contest is running, you can't select and copy the problem's statement. This will make it much more cumbersome to paste the statement into chatgpt and I feel like it will disinsetivise a lot of cheaters from now on.
im afraid that CP will enter a situation like go, which is ruled by ai
haiz
I think that it shouldn't use in cf.
And how are we going to insure this thing exactly? I mean how are you people going to know if a code is AI generated or not? Also there is so much cheating happening anyways... People are copying others solutions with a minor change like change in variable name and don't get caught... How are we going to stop that?
Ultimately I do cp because I like solving problems.**Its like a hobby that i enjoy with a cup of tea during weekend evenings while sitting at my balcony enjoying the serene breeze**.Rating only matters to people who are doing cp for getting jobs which is the main problem here.I am 100% sure all those cheaters are doing cp just to get into top mncs and want a rating to show in the resume Otherwise why will you cheat when you want to hone your own problem solving skill.
People cheat in chess too, even though it doesn't give them a job. People cheat in all kinds of competitive activities, if there is any possibility of cheating. Because people cheat first of all to boost their ego.
omg
I am new to this whole thing, and I believe most people who are cheating are doing this to get a job in some company, if companies stopped judging candidates based on their CF ratings, then most of the problem would be solved
Compilation errors can be used with AI.
Is there way to prohibit copying the text of problem from browser? As I know such way doesn`t exist, but you may be aware of it
Of course it is possible (barring OCR), but I believe it shouldn't be implemented anyway.
About a month ago, I found out that my friend solves various problems using AI. I asked myself a question — if he uses AI in codeforces, will he reach 4000 rating? Fortunately, the answer is "no".
Thanks for updating the rules, MikeMirzayanov. I believe my friend will get his true rating in the next round:)
Your friend is just that honest he will just stop using AI?
that's actually great. but evolving, detection will be a major challenge.
Are we allowed to use it as a knowledge source? For example, if I forget what the SCC algorithm is(I know usage), can I ask the AI to briefly explain it (and maybe provide code for an abstract SCC algorithm)? Or can I ask it to tell me the best way to implement DSU?
Will asking AI to explain the problem be considered violation? sometimes I don't know if it is because of the english translation or not some wording makes some sentence harder to understand
Is it possible to use translators from one programming language to another? For example, I wrote a task in Python, it doesn't work because of TL. AI rewrote it in C++ and it was solved
Dear Sir, Your new system goes wrong judge. I didn't any copy code in last Div 4 (971) problem C. but it skipped by your system. And it is very common that two code become same, because some easy problem should be same logic and approach and code would be the same also. I think it should need to improve more.
great
does contest rating above master level matter?
Can I use AI to generate corner cases?
Great operation! It strongly prevents cheating and unfairness to other people who work by themselves. The same thing happened on other OJs too much to feel unfair. It's an excellent initiative.
one word: wow
Please clarify on if the language translations is allowed. (Preferably, also everything I wrote in https://mirror.codeforces.com/blog/entry/133990)
It will have very serious implications for non-C++ users. I just encountered one such instance during practice: 281503503 is translated easy pass but it is very hard to fit the exact same idea in kotlin 281502452, even with stupid lots of things like radix sort.
To clarify, I am not saying it should be allowed. I think it should NOT be allowed. But a clarification, one way or another, is important.
Perhaps it's time to implement AI-based monitoring of user actions to ensure fair contests.
To prevent people from using ChatGPT o1-preview to achieve high scores during competitions on the Codeforces site, how about politely requesting OpenAI to impose functionality restrictions so that it doesn't solve current contest problems?
If human progress comes to a halt, AI's data will also become corrupted, right? I think OpenAI might consider this point.
That functionality is already implemented unintentionally.
I don't know what the purpose of using AI is. Rating does not match your abilities, so you need AI to help you 'progress' even more. This is a meaningless vicious cycle.
Welp, seems like we may be entering the AI supremacy era.
Can anybody tell which profile they (OpenAI) used for testing their new model and if they used it at all?
can i use AI to translate my language program? for example: the problem only python, but i only know C++, so i use AI to translate my C++ code to Python code can i do it?
How exactly can someone ever know if one used claude or any other llm to produce the core logic or not , if i just prompt it to produce the core logic and get the idea , thereafter i write it myself in my own style of code, using my own templates, how can anyone ever know about the fact that i cheated?
I never imagined that this day would come so quickly
Hello! Just curious in light of this situation will we be allowed to use chatgpt to convert our code into kotlin for the upcoming kotlin heroes. Not sure who contest organizers are for this contest so i asked here
Thanks!
absolutely fine
yes yes yes!!!!!!!
ok!
haha
It's not giving assurance to me, but yeah, since some of the brilliant minds (in computing) are behind the contests, I'm hoping over time, they'd come up with something effective.
LFG...
What if my thinking is similar to the solution that the AI engine will implement?
Some of them are definitely using it to improve their ranking.
i dont quite understand the significance of using AI in competitions,i can't think of any benefits
btw I triggered cloudflare while writing this comment:(
getewtgew
cheaters gonna cheat anyway so no worries
holy crow bro
very well, cheating is ruining efforts of fair participants in the competition it should be monitored carefully.
Bye bye cheaters!
Chess engines like Stockfish or AlphaZero have been in the world a decade before GPT's models, and even with that online chess and tournaments still survived. Maybe we could copy the same AI detecting methods. For example, when an user is perfoming consistently in tournaments, and solving problems with different algorithms that he had never practiced before (DP, Trees, BFS, DFS), that could certainly be a sign of cheating. Online chess does a comparison between your ELO points and your performance to determine whether you are cheating or not.
robocontest.uz please follow this channel
yes
but, we need to know, if AI can't solve problem => he can't solve problem. Yes, using AI its bad, but sometimes it can help if you can't find step. Im newbie in programming, and sometimes its really helps for me sry. If its sounds like crying, never mind, I try to be better
try to give the whole problem statement within an image, so that, the problem statement can not be copied easily!
this legacy of competitive programming shall never die!!
It seems that this article was written by AI.
Skill Development: avoiding AI can encourage developers to deepen their coding skills, as they must rely on their own problem-solving abilities and creativity.
Understanding Code: writing code manually fosters a better understanding of algorithms, data structures, and design patterns, which can be lost when relying on AI-generated solutions.
Quality Assurance: human oversight can enhance code quality, as developers can ensure that solutions meet specific project requirements and maintain high standards of readability and maintainability.
Last thing i pretty confused about how to check real people coding and AI coding?
Real people coding:
AI coding:
Ah because it have long variable name right?
Long variable name(such as "the_count_of_numbers"),all comments,usually Python
Sure
can we use chatgpt to convert between languages?
Rather than using Ai, using your own brain is more thrilling.
a year ago i was thinking about this, and now it happen :D
dont rush town hall dont donate forets rubbish
I have a suggestion that Codeforce should create a compiler for itself on this site, so that no one is allowed to switch to another window, then that question should be closed for him, something like this should be done to limit the AI relatively possible Who agrees with me?
helu
oh no, Ai Will replace us..
WTF! Why not make the contests harder and harder and recommend that everyone use AI?
I understand why people are downvoting but my point is making "harder" problems means problems LLMs can not solve. I see LLMs can sometimes solve 1800-rated problems but struggle with 1000-rated problems this usually does not happen with humans. One possibility is it can map the 1800-rated problem to another similar problem available on the internet due to its strong language capabilities but it still doesn't have the logical ability to develop the algorithm. My point is why make a strong rule against it? Another contest can be introduced that allows AI use and problem-setters are expected to test problems with AI models and ensure they can not develop the logic for it.
Another problem with this rule is how it will be enforced. Do you really think an LLM can generate solutions to a highly rated problem but will not be able to change the code enough that it is considered to be written by another person? Also, developing the algorithm is the 90% hard part. Even a basic programming course will make you good enough to write the code once you know the algorithm of the solution. What is stopping people from just getting the algorithm from the LLMs and writing their own code?
Cheating in a contest by giving in groups is just fraud plain and simple so people do not do it to not spoil the sanctity of the contest but cheating using smart prompt engineering doesn't nearly "feel" as unethical. In my opinion, a lot of people will do it and it will only demotivate people who are here to actually learn.
for the same question it takes 15 mins for humans of the same level,but it takes 3 secs to summarize using AI,so what is the significance of your competition reading questions? why don't you let AI summarize the content of the exam paper for you during the exam? as you put it, the world's papers should become increasingly difficult because AI can be more easily used
btw not being able to understand the questions indicates that your skills are not high enough,which is different from the inconvenience of doing the questions for you. just use AI for solving problems, using AI for competitions only shows where your skills are not high enough
what if my code fails due to python constraints and i simply ask gpt to change my code to cpp.will it be legal?
AI is dump, it cant do anything
ehh, I don't think we're dying. But, instead, think of it like chess. There are engines like StockFish and AlphaZero which play beyond any human capability but, people still play chess. It's still fun to beat your friends and get excited when you make a brilliant move.
Codeforces should collaborate with providers of AI-based systems (such as various models like GPT, Gemini, Gemma, Llama, Claude, and others) to limit their usage during contest i.e. by detecting if the user is asking about the contest problems during contest time!! otherwise codeforces will die for sure!!
My rating is 1064.
Good!!
i would like to add my comment just to be here
This is madness. We should be allowed to use AI tools without restriction. But since you insist, I will code without them. :(
hi
yes
We aint dying dude. Now be a normal person and live like you always did if you lived in a bad way then try to make your life better. Now GET UP AND TRAIN
I have a doubt, what if I need a function that converts an integer into a binary format for solving a particular question.. Can I ask the AI tools to give me that function since I already know the core logic of it.
Restrict the user from copying the problem statement while contest is on going. At least the cheater needs to type the problem by themself. Google lens can help them prevent the typing but why don't we make the problem statement human readable only like re-capcha.
can ai even solve 1000 level questions? I doubt that
Always write your own logic. If ChatGPT does a task, the time will come soon when the AI tool will replace us.
Are you allowed to use it to explain sample test cases?
Instead of prohibiting it, have you considered introducing a separate scoreboard for people who are allowed to use AI?
OK
AI is very scary!
Done, Luogu won't be able to use it anymore!!!o(╥﹏╥)o
nice and attractive
Try to learn & practice
hold your seats tight.....
Can I use AI(chatGPT / gemini or etc..) for getting some more input/output of a problem in live contest?? You know, there are some tricky input in a problem statement that are not included in the input area. But, if I use AI(chatGPT / gemini or etc..) to get those tricky input and output, it will help me to submit more accurate code. Can I use AI in live contest to do this??
Just wonder if this rule incites any change on cftool accessing codeforces? Because I've come across issue on that. the cftool is now reading the page that composed by js and only available in browser where the js content would get evaluated.
I wonder how can I get my cftool work again.
finally they talk about it
I don't think AI is fair. :(
I am happy with that....huihuihuihui now it will be more intresting huihuihuihui