ChaosAngel's blog

By ChaosAngel, history, 4 months ago, In English

Hello Sir. I got the following message: "Attention! Your solution 3242387453 for the problem 1679B significantly coincides with solutions notacheater1/12341324, notacheater2/2343546. Such a coincidence is a clear rules violation and will result in your immediate arrest and prosecution according to the Codeforces No-Bob-and-Alice law. Note that unintentional leakage is also a violation and carries the same prison sentence."

I am not a cheater and I swear on my rating I would never cheat. I was just running a telegram group with 150 people in the contest, and we were trading solutions with each other on condition that we change the variable names. Sometimes I even replaced the while loops with for loops to make sure the code was inventive. And sometimes I didn't because I thought the systests would find it funny if there were 100 identical solutions. Please it was not on purpose I did not know this was not allowed, the terms and conditions that ARE PRESENT AT EVERY REGISTRATION are too long to read so I thought contests are like e-bay, solution goes to the highest bidder. Also, me and my team of 150 notcheaters only managed to solve AB together, so please give us back our ratings otherwise some of us will end up with negative rating and go to codeforces jail.

This post isn't attacking everyone on that blog, only the knowing cheaters who have the audacity to top it off with ludicrous lies and excuses. Some people are truly innocent, others own up to their mistakes.

But for real, the excuses are utterly ridiculous. That blog should be closed for commenting; it keeps showing up in my feed and it makes my blood boil to see the amount of lying and cheating that goes on there. It is an affront to the community.

Let's end this with a small stat: there are over 1400 posts on that blog, and the word "admit" is used 25 times.

Full text and comments »

  • Vote: I like it
  • +79
  • Vote: I do not like it

By ChaosAngel, history, 8 months ago, In English

Some rounds are balanced, and some rounds are ludicrously not.

Some div 2A's are overly trivial, which is kind of expected, but have you ever come across a div 2A that was wildly and unexpectedly difficult for its position in the contest?

Let us know in the comments below!

Full text and comments »

  • Vote: I like it
  • +61
  • Vote: I do not like it

By ChaosAngel, history, 11 months ago, In English

The argument that you can't talk politics here because this is a website for competitive programming is as stupid as saying that you shouldn't talk politics on the beach because it's a place for swimming.

When I write a blog, I do NOT see anything that says "YOUR POST MUST BE CP-RELATED." This is a community of programmers, but let it be clear:

There are real people behind the laptops. Real lives, and real opinions. And if codeforces is serving both as a community to allow programmers to flourish, as well as engage on subjects beyond the scope of 'accepted', then good for codeforces.

As programmers, the last thing we should do is "shut up and code."

On the contrary, it's been heartening to see mostly healthy discourse on issues that concern us, and well-wishes for our friends trapped in conflict zones, regardless of their nationality.

My heart goes out to the peoples of Ukraine & Russia.

Full text and comments »

  • Vote: I like it
  • +264
  • Vote: I do not like it

By ChaosAngel, history, 13 months ago, In English

I'm sure that anybody who's been using codeforces for more than 2 years by now has the ability to click on the contests button in the top bar with his eyes closed. My hand is used to moving the mouse to the exact place, slightly to the right of "Home".

Unfortunately, this has been rearranged with the addition of catalog, and now I must open my eyes when I click contests, and it is of great discomfort to move my mouse slightly more to the right, as opposed to how I have been doing it for the past 2 years.

I'm sure all veterans agree with me and this is a matter of life or death for the website.

Join me in calling on MikeMirzayanov to fix this great injustice and return the contests button to its rightful place on the left.

Full text and comments »

  • Vote: I like it
  • +58
  • Vote: I do not like it

By ChaosAngel, history, 16 months ago, In English

Hi guys, With the ICPC Finals coming up soon, I (as I'm sure many of you are) was wondering what it would be like: contest difficulty, accommodation, interaction between participants, leisure, and other aspects.

I also failed to find any dedicated blog to the subject, thus I decided to write one up now.

It's also the first ICPC to be held since the pandemic, so many things are going to be different.

If you would like to share knowledge from ICPC experience, or you are qualified to the current one and would like to announce your team, or just ask questions, that's the post for you!

Looking forward to it!

Full text and comments »

  • Vote: I like it
  • +45
  • Vote: I do not like it

By ChaosAngel, history, 2 years ago, In English

I think it should be called "Good Riddance 2020", because it has truly been an unprecedentedly ugly year for most of us.

Anyone has a better idea for a name to bid farewell to this year?

Show me in the comments!

Full text and comments »

  • Vote: I like it
  • -25
  • Vote: I do not like it

By ChaosAngel, history, 3 years ago, In English


Codeforces is filled with great people, but it is also has plenty of users that abuse the system, and dampen other people's fun though their actions. A few problems I put under the spotlight


A unrateds, alts, and rating-manipulating contestants that win contests below their division, stealing the victory and some rating from legitimate participants. See the last 4-5 div 2's for sufficient examples of experts and specialists losing wins to these fakes. This can be extended to cheaters in general, but there is already a system for that in place.

B Users who make alts to shield themselves from backlash when commenting, potentially to make hurtful statements. Many of us have seen the abuse that they spew.

I've labeleld things as A and B to refer to the problem I am talking about.

I've done my research:

Past Suggestions:

A Make div 2 have some trusted participant system like div 3 does.

A Construct a neural network that analyzes style (easier said than done)

B Ban unrateds from commenting.

A&B The current MikeModeration, which works to some extent.

My suggestion, inspired by the stackoverflow model, is community based moderation (I'm not sure if this has been brought up before):

My suggested solution:

A We implement a sort of community based flagging. Perhaps, upon noticing a suspicious account, a user with good standing (by either rating or contribution [that would be a good way to put that stat to use] or otherwise), can be able to flag a particular participant. Then the community votes based on whether they think the participant is legitimate or not.

B We can have a similar community moderation system for users who seem to have accounts solely to make abusive comments. (We can tell by looking at their participation, submissions and contest history).

A community system confers many benefits.


-Most community members are honest coders who want to compete, learn, win, and have fun. They will be rather impartial when casting votes, and thorough in detecting cheaters. There are plenty of people who make blogs dedicated to catching cheaters!

-The collective intelligence of hundreds of votes is significantly more intelligent than any automated banning or flagging system, as the watchful eye catches what the bot cannot. Ultimately, it will make illegal actions require too much effort to evade detection.

More specifically:

A Most cheaters tend to be very obvious. We, as users, can rapidly notice them through their handles, or their rating graph (goes from master to newbie), or an unrated finishing a contest in 30 minutes. Bots and systems can be tricked, but users are a bit tougher to hoodwink. If we see a known GM style, we can tell fairly quickly. Yes, I am very aware that there are talented unrateds. I am also very sure that at least 99% (made the number up but we know its correct) of people who participate in their first contest WILL NOT, and STRONGLY WILL NOT solve the entire contest like it is a breeze. False positives will not be plenty (we can always give benefit of the doubt), but the hoards of obvious abusers will be cut down. It will be worth it to give honest div 2 members a true shot at actually winning the division.

B A user can tell what a true account is and what a "made to spout venom" account is. We wouldn't want a systeem to flag Harbour.Space for example, and most rational users would know that this is not an abuse account! Similarly, a user who tries cheating the system by making random submissions for problems to appear like a normal member will be caught by the vigilant eye of the community. In fact, it takes more effort than its worth to hide ill-intent from a watchful community!

So, what do you guys think?

Full text and comments »

  • Vote: I like it
  • +52
  • Vote: I do not like it

By ChaosAngel, history, 3 years ago, In English

When my friends first told me that there was going to be a div4 in a few days, I laughed it off and told them to get real. Presto chango, here we have a div 4!

I have mixed feelings about this frankly. Yes, the demand is rising, and we have a massive amount of registrants. However this could be in large part due to the recent pandemic, and not a permanent fixture.

This could have positive effects for the community, in terms of having a lower entrance barrier for newbies and less skilled programmers, and a softer introduction to the world of competitive programming. The website can establish itself as a larger presence in the algorithmic programming world.

At the same time, is that the fundamental character of this site?? Codeforces is known for offering a more ad-hoc, difficult problem set that is more suitable for ICPC, IOI, GCJ, Hackercup participants than your classic job interview website (Leetcode). Expanded focus on the lower divisions might serve to diminish the focus on the higher rounds and participants; it can be argued, allocating problem-setters and system resources differently.

This is not to mention the issue of the rating inflation; I think we are witnessing an upwards pressure on ratings these days due to increased participation by less well-versed members. Perhaps it is time to consider some mechanisms to equalize this??

Yes, we have the opportunity to expand our community and scope by making easier rounds for larger numbers of people. And yes, we risk losing our fundamental reputation as a site that caters to the best of the best.

That, and div1 people barely get any contests anyways.

Thoughts? I'd like to know if there are many with mixed feelings.

Full text and comments »

  • Vote: I like it
  • +266
  • Vote: I do not like it

By ChaosAngel, 3 years ago, In English

Hello! In the aftermath of the recent educational round, there is an apparent weakness in the test-cases of problem A that is leading to a ton of hacks.

This large volume of hacks will be added to the systests tomorrow morning. However, they do not represent distinct weaknesses; odds are that only a tiny fraction of these test-cases is necessary, since they are all targeting the same weakness, and most codes will fail at the first hack.

Doesn't this represent an inefficiency that will be an added burden on the already crowded system tests? I don't know how this could be handled, but perhaps live rejudging of all codes on individual successful hack cases will prevent many unnecessary hacks from being created in the first place? This is not exclusive to this contest, and is a persistent issue in div3's and educationals with long hacking phases that could perhaps be improved to save system test resources.


Full text and comments »

  • Vote: I like it
  • +51
  • Vote: I do not like it

By ChaosAngel, history, 3 years ago, In English

Hey guys!

I hope you and all your families are well and safe during this outbreak. May the sick be healed and the well stay well.

It is apparent that many of us now have significantly more free time on our hands, at least temporarily, and this is evidenced by the spike in participation to an astonishing 20,000 yesterday. Personally, I am spending more and more time on this website solving problems, and I'm sure many of you are too!

This is why I think it would be an excellent idea if we ramp up activities on this website, and create more fun community things to keep us busy with. (I'm not talking about only more contests, we can be creative in our activities).

I'm a relative newcomer to the site, so I don't know how exactly this could happen, but I certainly have some ideas:

1) The most obvious thing would be to increase the frequency of rated contests immediately, to accommodate for the spike in demand (as of now there are more people registered for the div 3 in two days than several earlier rounds have had total).

2) We can also have unrated, and perhaps even themed contests, which don't have to be as rigorously coordinated. orz to zscoder valentine contest for a beautiful example of that idea in practice.

3) Longer Team based contests (ACM style) , or even day-long long solving marathons.

4) This one's a crazy one that I'm just including it to expand horizons, but a concerted effort to target, by a large number of skilled people (Reds, I'm looking at you) an unsolved CS algorithm?

I would love to hear your ideas; you guys probably have experience with what can and cannot be done as a coding community. I will edit to include the more upvoted ideas, to make them more visible.

We should stay home. Yes, but we should also stay sane.


Full text and comments »

  • Vote: I like it
  • +108
  • Vote: I do not like it

By ChaosAngel, history, 3 years ago, In English

I've noticed that after many contests, we get comments accusing the contest of being anything from "mathforces" to "DDOSforces". Some people use these tags to criticize contests that are skewed in one direction or the other.

But is the fact that different contests tend to focus excessively on different areas really a bad thing?

Personally, I think that this is due to the diversity we have in the writing teams and problem creation process. This is something I think we should appreciate! While there definitely is such a thing as a poorly designed, imbalanced contest, I do think that having different contests biased towards different topics to be a good thing. In the long run, since we have so many dedicated, hard-working writers pumping out problems, contests cover a balanced range of skills. Some may be proof heavy, others have more implementation, yet others are about edge cases. While some of us may not like a particular type of these problems/contests (I hate typeforces personally and always get -90 rating on them :p ), in the long run, they are all necessary skills for competitive programmers, and I am happy that I am exposed to various, non-uniform contests that make me harness a skill or the other. The element of surprise is also very welcome; different writer styles ensure different contest styles, and there is nothing more fun than putting old skills to test in new situations.

So, I wrote this blog to honor the different flavors of codeforces. I'm going to mention a few of them (in no particular order, the colors are just for fun)that I've seen being thrown around on problem comment sections, and I invite whoever has additional ones to add them in the comments section.








In the comments section, I invite you all to share your favorite examples of a particular type of contest!

Honorable mention to the dreaded Queueforces and DDOSforces, may they be few and far in between :)

Full text and comments »

  • Vote: I like it
  • +133
  • Vote: I do not like it

By ChaosAngel, history, 3 years ago, In English

I would like to draw attention to probably an overlooked, but actually wonderful aspect of this site. Contests here never start on the hour; in fact, they are always 5 minutes afterwards. Practically all of them start at 17:35, but I've never seen a 17:30. Same thing with 16:05 instead of 16!

While for some users this doesn't matter, personally, it makes a difference for me. I usually time myself to arrive on the hour, and this 5 extra minutes acts as a safety net! In fact, it has saved me several times when I came late, because it psychologically forces me to try to be ready 5 minutes before starting.

Finally, if someone, including administration, could tell me why this practice is mainstream here, I'd be very grateful to satiate my curiosity.

I'd like to know if this peculiar starting time habit means anything to anybody else here. But it's impossible not to think of codeforces whenever the clock reads 17:35 :)

Full text and comments »

  • Vote: I like it
  • +88
  • Vote: I do not like it

By ChaosAngel, history, 3 years ago, In English

Hello all, First off, allow me to thank those who put in the time to make all contests- from divisions to educationals to globals to mirrors.

Second of all, I've noticed a spike in the participation rate (10K-11K per contest) which is impressive!

However I also notice that the contests are irregularly spaced, and we occasionally wait 5-7 days for contests. This problem is even worse for div 1 participants.

With rising participation and interest, I would like to see an increased frequency and regularity in the contests-perhaps set a target fixed rate of a contest (of any type) every 3-4 days, with additional contests being placed in between.

This has multiple advantages: regularity ensures consistency, which is positively correlated to community engagement. Furthermore, while one can propose doing virtual contests, I will be the first to say they are not the same thing. Nothing matches a live contest with your peers and friends racing alongside you. (especially when rated).

I hope you guys feel the same!

Thanks for taking the time to read this :)

Full text and comments »

  • Vote: I like it
  • +75
  • Vote: I do not like it