### MikeMirzayanov's blog

By MikeMirzayanov, 5 months ago,

Hello Codeforces!

There is something new for you. It seems that now it will be easier to reuse problems from the archive for educational and other purposes.

As you know, problems from past Codeforces rounds can be added to mashups simply by their codes of the form like 1234D (contest ID + problem letter). I myself regularly used this when I taught at Saratov University — it was very convenient to prepare trainings: problems have expected complexity and topics, there are Russian and English statements, you can see the analysis and many solutions. Because of hacks and uphacks, problems in the archive usually have strong tests. Almost all of them are well-prepared. In addition, with the help of user lists, you can easily pick up problems for a group of students that they did not solve.

But there was also an issue: the problems in such trainings were easily googled. And if the majority of adult participants could cope with the temptation to spy on the solution or tests, then beginners sometimes acted dishonestly. I received several requests to come up with something with this flaw. One of the most recent such requests was from Daniel Darooha Sleator (https://en.wikipedia.org/wiki/Daniel_Sleator). Thanks, Danny!

So the work seems to be complete. Meet a new feature on Codeforces: now you can rewrite statements for problems in mashups, completely replacing it with your own. More details about the capabilities of the new functionality:

• a new icon-link appears in the problem list in mashups, by clicking on which there will be a form for creating/editing a new statement;
• you can use the original text of the statement as a template when writing your own: be very careful — you must exactly repeat all the details of a statement so that problems do not formally differ;
• this form compares the set of formulas in the original text and the new statement, and if they differ as sets, there will be a corresponding detailed warning;
• you can specify your own tests from a statement (examples) — here you also need to be very careful so that they are formally correct;
• if you added examples, then solutions will be judged on them first, and only after on official tests;
• you can upload your own image files and use them in statements;
• there is a setting to temporarily disable the use of the new statement (for example, if it is still under development).

Considering that there are already more than 6500 problems in the archive, an excellent perspective opens up for organizing trainings and educational sessions.

I hope this innovation will be useful. Write in the comments what can be improved and/or corrected.

M.

• +1666

 » 5 months ago, # |   +10 Wow ! that seems great feature :)
 » 5 months ago, # |   0 GREAT idea!
 » 5 months ago, # |   +207 Wow, this will be so useful for conducting any trainings, etc.Thank you so much!
•  » » 5 months ago, # ^ |   +61 and to Darooha
 » 5 months ago, # |   +14 A new great feature appeared :)
 » 5 months ago, # |   +3 Seems to be an amazing and powerful feature for coaches. Thank you!
 » 5 months ago, # | ← Rev. 2 →   +4 sound like a good plan!
 » 5 months ago, # |   +2 It is a great idea !
 » 5 months ago, # |   0 Just simple WOW
 » 5 months ago, # |   0 Due to non-availability of test cases I had to previously hold mashups taking all the details from Atcoder and it's test cases while now I can simply change the statement of previous asked questions in CF. Thank you guys for this.
•  » » 5 months ago, # ^ |   0 MikeMirzayanov I recently used this feature and want to suggest some changes. If the previous statement was written in LATEX we are not able to edit its parts containing variable for example {$a_1} can't be changed to {$x_1} neither be the notes can be removed if there are previously and I can't add new explanation to the examples. Should I upload the errors shown ?
•  » » » 5 months ago, # ^ |   0 Just ignore a warning in this case.
 » 5 months ago, # |   0 Wow,This is amazing.
 » 5 months ago, # |   0 Thanks, I think this will be very useful! As a suggestion, I think it would be very nice if you could add the clarifications regarding a problem after adding it to the contest. Sometimes it's boring to copy it or I forget to copy it.
 » 5 months ago, # |   +48 you can specify your own tests from a statement (examples) — here you also need to be very careful so that they are formally correct; Is input validator ran on my own test? (also output checker?)
•  » » 5 months ago, # ^ |   +55 Yes, during a judgment. So I recommend submitting a solution after a statement rewritten.
 » 5 months ago, # |   0 You are the besttt
 » 5 months ago, # |   0 Thank you so much for this great feature.
 » 5 months ago, # |   +17 Really cool feature. Combined with the new streams feature, streamers can (ask a friend to) create mashups for people to solve and then stream it later. I think these two features combined will work really good.
 » 5 months ago, # |   0 It will be very helpful for us to analyze a problem according to our self modification
 » 5 months ago, # |   +36 Hi. I usually use mashup contest for practice, but when I managed to solve a problem, I have to resubmit my code in order to have it recorded and mark as solved. It would be great if we can have a feature that push our code in mashups directly to problemset.
 » 5 months ago, # |   +32 This is actually cool! For one thing, a mashup can now have a consistent theme across each problem now :D
 » 5 months ago, # |   +5 Nice, this will be very useful for conducting trainings.Thank MikeMirzayanov and Codeforces !!!
 » 5 months ago, # | ← Rev. 2 →   0 Please create an API for retrieving question data like problem statements and test cases(sample). Also, POST requests for code submissions. Please...And a big thanks for this feature, this would definitely help.
 » 5 months ago, # | ← Rev. 2 →   -31 Задачу можно гуглить с помощью тестов) ЛоЛ
•  » » 5 months ago, # ^ |   -8 В статье английским по белому написано, что тесты тоже можно подгрузить свои, и тогда ты уже ничего не нагуглишь. Разве что по латеховым формулам. Если ты не смог это в статье вычитать, иди учи английский.
 » 5 months ago, # |   +8 Not only this is great feature on itself, but at the same time helps coaches to bring problems to students on their national language! I have been tempted to make contests with old codeforces problems, but biggest problem was language barrier; some didn't felt confident in their english skills, or I didn't like wording or how imprecise some wording felt! This will be huge boost, and next logical step might be to allow "translator rights" so problems can be available to all in their nativ language! THANK YOU MIKE! <3
 » 5 months ago, # |   0 Also, and MikeMirzayanov please correct me if I'm wrong, correcting statement like this will instantly be updated for contestants! So finally, no more waiting on Polygon to finally update statement, sometimes as long as 5min (i know that's actually short, but still...), so really happy for that too!
 » 5 months ago, # | ← Rev. 2 →   +10 Well done. Looks familiar.