plagues's blog

By plagues, 4 weeks ago, In English

I am writing this because I believe that prohibited collaboration occurred during this Challenge and affected the prize positions. To state my personal conclusion plainly: I believe this is cheating, not merely a collection of innocent coincidences.

The final positions relevant to the accounts discussed in this post were:

Rank Handle Final score Result of my public-data review
2 IceKylin 16808.628 Historical team with candy0014 named “IceKylin 0339 team”; all-time runtime/score leads with candy0014 and Retired_Zhisheng
3 mahiro_zcy 16757.390 Repeated all-time runtime/score correlation with mojo__hugo; repeated timing correlation with Zinc-acetate; weak close event with Mango2011
4 Zinc-acetate 16754.865 Repeated timing correlation with mahiro_zcy; shared Codeforces group with Retired_Zhisheng/mojo__hugo
6 paqi 16747.652 Strong behavioral correlation with Turritopsis_nutricula; direct team relation to Hyacinth and youlinaixu
7 Retired_Zhisheng 16746.013 All-time runtime/score leads with IceKylin and BitByBit123; several public social links; organizer-confirmed connection and synchronized progress episodes with candy0014
8 candy0014 16736.677 Historical “IceKylin 0339 team” connection and a post-hoc high-score match with IceKylin; organizer-confirmed connection and synchronized progress episodes with Retired_Zhisheng
10 mojo__hugo 16729.029 Repeated rare-score correlation with Lao_mang; repeated all-time runtime/score correlation with mahiro_zcy
11 youlinaixu 16710.886 Direct team relation to paqi/Hyacinth; very late large improvement, but no exact score match with paqi
14 Lao_mang 16668.572 Repeated public-data correlations with mojo__hugo and LA0mAng
15 al1swedel 16661.204 Medium-strength behavioral correlation with Tanya160; weaker link to Exiled_Code2022
16 Jeffrey 16660.865 Broad timing clusters, but no meaningful stronger runtime/score signal found
17 Mango2011 16656.528 One weak close-score event with mahiro_zcy; no public social link found
18 plagues 16653.149

Where I report q below, it is a multiple-comparison-adjusted result from one fixed contest-wide screen. I use it only to prioritize source review, not as the probability that misconduct occurred.

1. paqi and Turritopsis_nutricula: a mirrored submission sequence

This is the clearest timing pattern I found. On August 24, Turritopsis_nutricula made two submissions ten seconds apart. Exactly 60 seconds after each one, paqi produced the same two-submission cadence and reached the same exact score:

Handle Submission Time Score Runtime Memory
Turritopsis_nutricula 388196321 03:22:22 8296.577 625 ms 65,536 B
Turritopsis_nutricula 388196330 03:22:32 8296.577 671 ms 61,440 B
paqi 388196374 03:23:22 8296.577 484 ms 57,344 B
paqi 388196382 03:23:32 8296.577 593 ms 49,152 B

The runtimes and memory are not identical, so I am not claiming these four records prove identical binaries. The notable fact is the exact score and the perfectly shifted 10-second, then +60-second cadence.

This is not their only common fingerprint. They share six exact score plateaus in total. Four are rare and pair-exclusive in the full contest data: 8296.577, 9280.584, 16022.487, and 16024.151. For example:

paqi had 325 positive submissions across 13 contest days. Turritopsis_nutricula had 148 positive submissions concentrated on six days, frequently in pairs separated by roughly 7–14 seconds. The repeated cross-account mirroring is what deserves a log and source review. I found no direct public team or group link between these two handles; the only profile-context match nearby is that Hyacinth and Turritopsis_nutricula both self-report Wuhan, which is weak by itself.

The rp++ team connection and Hyacinth

paqi, Hyacinth, and youlinaixu are established teammates in the public Codeforces team rp++, with multiple actual team-contest participations.

Hyacinth made only four submissions in this Challenge. The first two, made 12 seconds apart on August 16, were already very strong and each reached a rounded total also reached by paqi:

Handle Submission Time Score Runtime Memory
paqi 387258331 11:00:32 15936.908 1500 ms 57,344 B
Hyacinth 387259691 11:12:38 15982.034 1375 ms 49,152 B
Hyacinth 387259713 11:12:50 15936.908 1500 ms 73,728 B
paqi 387274883 13:21:03 15982.034 1625 ms 57,344 B

Both scores are pair-exclusive to paqi and Hyacinth in the contest data. The order is crossed: paqi first had 15936.908, Hyacinth then submitted both totals, and paqi later reached 15982.034. A direct teammate relationship plus two pair-exclusive shared totals among an account's first two submissions is much more informative than a shared self-reported city.

youlinaixu made only 20 submissions over three contest days. At 10:22:03 on the final day, 388664642 scored 15939.201. At 10:52:46, about seven minutes before the finish, 388667534 scored 16710.886, an improvement of 771.685 points and final rank 11. A late jump is not evidence by itself, and I found no exact paqi score match here. I include it because the organizer can compare this final source with the sources in the much stronger paqi/Hyacinth/Turritopsis_nutricula evidence.

2. mahiro_zcy, mojo__hugo, and Zinc-acetate

The fixed contest-wide screen found two repeated correlations involving final rank 3 mahiro_zcy that my initial report had missed.

mahiro_zcy and mojo__hugo

Across the contest, these accounts have nine event pairs with the same runtime and a score gap no greater than 0.3, representing eight distinct score pairs. With the wider fixed threshold of 1 point, there are 49 event pairs versus 9.44 expected from the empirical baseline among records with the same runtime, representing 23 distinct score pairs; the family-wide screening q-value is approximately 1.7e-16. In eight of the nine closest 0.3-point pairs, mojo__hugo submitted first.

One particularly close example is:

The memory footprints differ systematically, and the lags are generally many hours or days. This is therefore not evidence of the same binary or a real-time hand-off. It is a repeated all-time runtime/near-score correlation that the organizers can resolve by comparing sources. The public team and group records I checked place the two accounts in separate networks and show no direct social link.

mahiro_zcy and Zinc-acetate

This pair shows a different pattern: synchronized score progress rather than matching resource measurements. Within one hour, the fixed screen finds 43 event pairs with score gap at most 1, versus approximately 13.0 expected under the baseline for that pair, spanning 13 distinct score pairs. The directions are mixed: Zinc-acetate is earlier in 26 pairs and later in 17. Within 15 minutes and a five-point gap there are 86 event pairs spanning 36 distinct score pairs, versus 23.3 expected.

For example, Zinc-acetate 388055634 scored 16371.944 at 22:35:50 on August 22, and mahiro_zcy 388057488 scored 16372.003 48 minutes 27 seconds later. Their runtime and memory differ. I found no direct or one-to-two-hop public team-party, shared-group, city, or organization connection between them. The effect could reflect parallel convergence by two highly active contestants on the same deterministic score landscape; nevertheless, its repetition makes it a legitimate source-review lead rather than a single coincidence.

Zinc-acetate separately shares the public group gN3WSMKicW with mojo__hugo and Retired_Zhisheng. That group edge does not establish communication in this Challenge, but it is a concrete public association adjacent to both repeated behavioral patterns.

3. mojo__hugo, Lao_mang, and LA0mAng

mojo__hugo and Lao_mang both publicly list Guangzhou University. More importantly, they share four exact plateaus; three of them are pair-exclusive: 16327.778, 16331.003, and 16336.595. On two different rare scores, I found submissions with the same public score, runtime, and memory:

Handle Submission Time Score Runtime Memory
mojo__hugo 387672276 Aug 19 11:25:43 16331.003 437 ms 364,544 B
Lao_mang 387712808 Aug 19 17:22:52 16331.003 437 ms 364,544 B
mojo__hugo 387685482 Aug 19 13:26:48 16336.595 546 ms 352,256 B
Lao_mang 387794592 Aug 20 12:54:41 16336.595 546 ms 352,256 B

The time gaps are hours, not seconds. That weakens the timing evidence. In the runtime-only contest-wide screen, at a 0.3-point threshold there are 23 event pairs versus approximately 2.54 expected, representing 11 distinct score pairs, with family q around 1.2e-11. The two exact score/runtime/memory matches above are descriptively specific, but their hours-long gaps remain an important limitation. The direction is consistent across all four shared exact plateaus: mojo__hugo reached each first, and Lao_mang's first occurrence followed by between 8 hours 15 minutes 31 seconds and 18 hours 47 minutes 5 seconds. This remains a hypothesis for source comparison, not public proof of copying.

They are also in the same broader public team-contest circle, although not on a direct common team that I found. mojo__hugo has an actual two-person team party with YGkingNan (team 195089); YGkingNan has an actual party with BCNT and maomaoc (team 203766); and BCNT/maomaoc repeatedly competed with Lao_mang (team 201850). This multi-hop path is context, not transitive evidence of communication in this Challenge.

The Lao_mang/LA0mAng sequence is temporally tighter. The handles are visually similar, and LA0mAng made only 11 positive submissions, all on one day. Two scores, 15963.734 and 15974.214, are exclusive to this pair. The sequence of submissions at 15963.734 alternates between the accounts:

On the second score, Lao_mang submitted 387373444 at 10:06:24, LA0mAng submitted 387373793 at 10:09:44, and Lao_mang submitted 387374765 at 10:19:49. The last two both scored 15974.214 with exactly 968 ms and 307,200 bytes.

I found no direct public team shared by Lao_mang and LA0mAng. Their profiles list the same city but different universities. However, there is a short actual-party path through BCNT: BCNT repeatedly competed with Lao_mang in team 201850 and with LA0mAng in team 234098. Again, a two-hop social path does not prove that the endpoints collaborated here, but it makes the behavioral correlation less isolated and gives the organizers a concrete comparison set.

4. al1swedel, Tanya160, and Exiled_Code2022

This cluster is weaker than the first two, but it is still worth checking.

The al1swedel account was registered at 08:36:34 UTC on August 21, while the Challenge was in progress. Its first submission came 21 minutes later: 387864060, scoring 12480.305 with a 15,000 ms runtime. The only other account with that exact score was Exiled_Code2022: 387127370, also at 15,000 ms and submitted six days earlier. The long gap makes this a weak link. I preserve the chronology because it was the new account's first submission, but I do not have a population baseline that makes “new account plus first submission” independently suspicious.

al1swedel and Tanya160 share two rare plateaus:

  • 16102.414: six submissions by al1swedel, followed 32 minutes later by the first of five from Tanya160; this score was also later reached by a third account, so it is not exclusive;
  • 16130.989: first reached twice by Tanya160 on August 25, then first reached by al1swedel about 5 hours 49 minutes later, followed by two more al1swedel submissions the following night; this score is exclusive to the pair.

Their approximately six-megabyte memory range is only corroborative: globally, hundreds of submissions from dozens of handles fall in that broad range. The direction changes between the two plateaus (al1swedel to Tanya160, then Tanya160 to al1swedel). I found no public team, group, organization, or profile link between them. For that reason I classify this as medium-strength behavioral evidence, not as a public identity link.

5. Earlier reports involving IceKylin, candy0014, and Retired_Zhisheng

I reported this group to the organizers during the contest, and it is important to quote both the supporting facts and the exact limited scope of the organizer's response accurately.

Ticket chronology

The ticket text and UI timestamps below were supplied from my organizer correspondence; they are not exposed by the public Codeforces API, and I have not independently verified the UI timezone. The linked submission facts themselves were independently checked.

UI-displayed time Item What was reported or answered
Aug 24 15:19:22 #271544 I reported the historical “IceKylin 0339 team” connection between IceKylin and candy0014.
Aug 24 15:20:32 #271546 I asked for a careful investigation of possible collaboration and source sharing.
Aug 24 15:30:13 #271549 I supplied submissions 387862272 and 388234286 and their near score/equal runtime.
Aug 24 17:06:15 announcement System testing would use the latest strictly positive submission and ignore the others.
Aug 24 18:02:15 #271554 I reported Retired_Zhisheng/candy0014, including their then-visible profile-name fields.
Aug 24 21:34:24 #271557 I asked that fairness be restored; the organizer replied that the accounts were connected but their code was completely dissimilar and showed no obvious collaboration.
Aug 24 23:59:16 #271558 I asked what could still be done because seven prize positions appeared affected.

The profile-name fields cited in #271554

These were profile first-name/last-name fields, not the Codeforces handles themselves. In #271554 I recorded:

I considered the anonymized-looking fields and candy0014's later deletion of them suspicious when I reported them. The independently recoverable history is more limited. A Wayback capture from February 25, 2026, about six months before this Challenge, already shows candy0014 using the JFId... string as both first and last name. If my contemporaneous #271554 record is accepted, that string remained visible on August 24 and was cleared sometime afterward; the official API omitted both fields by August 28. Retired_Zhisheng, by contrast, still had the oAh... string in both fields on August 28.

Thus the public evidence supports a later removal of candy0014's fields, not a claim that both accounts first installed random strings after reaching the top. It cannot establish the exact removal time or motive. I still ask the organizers to inspect their own profile-change audit log, which can determine the exact sequence unavailable publicly.

IceKylin and candy0014

There is a historical Codeforces team 166232 named “IceKylin 0339 team.” This is the team's name on Codeforces, not wording I invented for ticket #271544. candy0014 is shown as a member, while IceKylin is shown as a former member. The public page does not prove that their membership periods overlapped during this Challenge, and I found no joint submission under this team.

Ticket #271549 pointed out this pair:

The equal runtime and 0.293-point score gap make this more specific than an ordinary nearby-score event, but its strength must not be overstated. Among 604 positive submissions from 32 handles in the post-hoc high-score subset (score >= 16500), there are three cross-account pairs with the same runtime and a score gap no greater than 0.3; the cited IceKylin/candy0014 pair is one of them. For both cited submissions, the other is the closest-scoring foreign submission among all 796 ms submissions. candy0014 has exactly one positive 796 ms submission; IceKylin has two.

The limitations are equally important. Runtime 796 ms occurs in 920 positive submissions from 455 handles. In the contest-wide screen without the high-score cutoff, this pair has one observed same-runtime hit within 0.3 versus 0.01764 expected, raw p 0.01749, but family q 1; 692 of 65,093 directed screens have at least one such hit, 452 have exactly one, and IceKylin has 49 such counterparts. The submissions are also 74 hours 54 minutes apart and their memory differs substantially. Thus this is not evidence of a real-time hand-off or an identical binary. I still consider it a source-review target because the separately established historical-team association makes the coincidence less isolated.

The full history also corrects an overstatement in my initial report: candy0014 did not make only one or two submissions in total. The account made 101 submissions, 87 positive, beginning on August 17. Any review should use that complete chronology rather than the incorrect “one or two submissions” premise.

Retired_Zhisheng and candy0014: what the organizer confirmed, and what remains unchecked

In ticket #271554 I reported the public-profile pattern involving Retired_Zhisheng and candy0014. In the response attached to #271557, the organizer wrote that the accounts were indeed connected. The response then said that their codes were completely dissimilar and that no obvious evidence of joint work was visible. From the ticket order, I understand that answer as referring to the pair reported immediately beforehand.

I do not regard that response as an exoneration. It confirms the non-random part that a public observer cannot normally establish with certainty—the accounts are connected—and reports only that code similarity was not found. The rules prohibit collaboration and sharing solution ideas, not merely submitting textually similar source. Different implementations, independent rewrites, different LLM generations, or code built around shared test-level observations can look completely different while still resulting from prohibited information exchange. The response also does not say whether the organizers compared semantic control flow, constants and policy tables, all intermediate sources, the complete 22-test vectors, compilation artifacts, or account/session logs.

The public strict-best chronology contains several near-synchronized progress episodes. These are not identical final scores, but they are concrete, reproducible jumps rather than a vague impression from the leaderboard:

UTC Handle / submission Score transition Improvement Relation to the other account's nearby jump
Aug 24 11:34:38 candy0014 388234286 16372.944 → 16581.492 +208.548 first event in this episode
Aug 24 11:47:27 Retired_Zhisheng 388235530 16026.811 → 16424.418 +397.607 12m49s later
Aug 24 14:33:55 candy0014 388253727 16581.492 → 16637.137 +55.645 first event in the second episode
Aug 24 14:38:19 Retired_Zhisheng 388254181 16504.440 → 16554.425 +49.985 4m24s later; similar jump magnitude
Aug 24 14:58:08 Retired_Zhisheng 388256252 16554.425 → 16584.869 +30.444 24m13s after the candy jump
Aug 25 02:22:53 Retired_Zhisheng 388299769 16606.154 → 16653.190 +47.036 first event in the third episode
Aug 25 03:07:06 candy0014 388305671 16637.137 → 16699.410 +62.273 44m13s later
Aug 25 12:03:43 Retired_Zhisheng 388348905 16661.032 → 16665.151 +4.119 first event in the fourth episode
Aug 25 12:11:30 candy0014 388349555 16717.373 → 16736.677 +19.304 7m47s later

The clearest pair is therefore not an exact-score collision: it is the August 24 sequence in which candy0014 gained 55.645 points and Retired_Zhisheng gained 49.985 points only 4 minutes 24 seconds later, followed by another 30.444-point improvement from Retired_Zhisheng. Earlier that day, both accounts had already made very large strict-best jumps only 12 minutes 49 seconds apart.

This occurred during a much broader late movement among the prize-position accounts discussed in this post. In the final-score reconstruction, seven of them first crossed 16500 on August 24: candy0014 at 11:34:38 (388234286), paqi at 11:44:35 (388235233), Retired_Zhisheng at 12:38:47 (388241023), mojo__hugo at 16:04:07 (388263099), mahiro_zcy at 18:11:19 (388277401), Zinc-acetate at 18:22:15 (388278759), and Mango2011 at 23:50:59 (388294972). The threshold is descriptive and selected after the fact; deadline pressure and normal parallel progress are possible explanations. Nevertheless, this concentration is exactly why checking only whether one connected pair's source texts look alike is too narrow.

For precision, the pair has no shared positive exact total and no cross-account submissions within 60 seconds; the fixed near-score screen also finds no score-distance-≤5 pair within one hour. Those facts do not negate the table above: the observed strict-best episodes are separated by 4 to 44 minutes and often land at different totals. The relevant organizer-side comparison is whether the same hidden tests, parameters, or scheduling ideas improved at the same moments, which requires the unavailable 22-test vectors and source history.

Because the organizer confirmed the relationship, because the public chronology contains repeated synchronized progress, and because many high-ranking accounts moved sharply in the same late period, I believe this pair should be reopened as part of a cluster-wide investigation. In my view, that combination is affirmative evidence of possible prohibited coordination, not merely neutral social context. “The code is different” answers one narrow question. It does not resolve whether ideas, test discoveries, parameters, prompts, or other prohibited information were shared.

Other all-time leads involving Retired_Zhisheng

The same contest-wide screen found two long-lag same-runtime patterns that I also ask the organizers to inspect:

  • Retired_Zhisheng/IceKylin: five event pairs, all distinct, within 0.3 with the same runtime, versus approximately 0.231 expected event pairs from the empirical same-runtime baseline (family q about 0.00436). All five IceKylin records are earlier, and none is within one hour. The closest example is IceKylin 387495808, 15948.596 at 734 ms, followed six days later by Retired_Zhisheng 388195700, 15948.598 at 734 ms. Memory differs.
  • Retired_Zhisheng/BitByBit123: 28 same-runtime event pairs within one point, spanning 19 distinct score pairs, versus approximately 0.275 expected (family q about 3.15e-42). Every BitByBit123 record is earlier; none is within one hour. For example, 387787710, 15948.065 at 687 ms, precedes Retired_Zhisheng 388170345, 15947.944 at 687 ms, by more than three days. Memory differs.

These are repeated all-time output/runtime correlations, not evidence of a live hand-off. I found no direct public association between Retired_Zhisheng and IceKylin. A separate endpoint check also found no shared actual party, Codeforces team, group, city, organization, or party/team intermediary for Retired_Zhisheng and BitByBit123. Their consistency and one-way order make them useful source-comparison leads, while the long delays remain a substantial alternative-explanation caveat.

Compact appendix for the accounts I am asking the organizers to review

For completeness, this table gives a strongest additional counterpart for each remaining account discussed in this review, selected by the same fixed, symmetric contest-wide comparison rules. “Events/distinct” prevents a large number of resubmissions at one score from looking like many independent discoveries. Different rows can use different fixed profiles, so the counts are not directly comparable across rows. “Screen-positive” means only that the selected correlation survives the screen's multiple-comparison rule; it does not mean that misconduct was established.

Rank / account Additional counterpart Fixed-profile observation Classification and main limitation
2 IceKylin mayanktr3900 8 / 2 within 15m and gap ≤5 Repeated but fragile and burst-dependent; separate candy0014/Retired_Zhisheng leads discussed above
3 mahiro_zcy nameyoutube 214 / 130 all-time same-runtime pairs within 5 Screen-positive but broad; the more interpretable mojo__hugo and Zinc-acetate patterns are discussed above
4 Zinc-acetate Calto 154 / 99 all-time same-runtime pairs within 5 Screen-positive broad runtime/score correlation; public-link check found no direct or enumerated party/team connection
6 paqi Irval 116 / 73 all-time same-runtime pairs within 5 Screen-positive but all-time only; Irval is consistently later in the closest 0.3-point examples
7 Retired_Zhisheng BitByBit123 28 / 19 all-time same-runtime pairs within 1 Screen-positive, consistently one-way, but all lags exceed one hour
10 mojo__hugo Lao_mang 603 / 178 all-time same-runtime pairs within 5 Screen-positive; narrower rare/exclusive evidence and social context are discussed above
11 youlinaixu tony1107 2 / 2 all-time same-runtime pairs within 5 Does not survive the multiple-comparison correction; the direct paqi/Hyacinth team relation is the substantive public link
14 Lao_mang mojo__hugo 603 / 178 all-time same-runtime pairs within 5 Same reciprocal repeated cluster discussed above
15 al1swedel Mohamed_Mahmoud11 33 / 13 within 15m and gap ≤5 Screen-positive broad timing cluster; public-link check found no shared team, group, city, organization, or party/team intermediary
16 Jeffrey Lyoshach 4 / 2 within 15m and gap ≤1 Repeated timing lead, but only two distinct score pairs
17 Mango2011 yuangengqi 19 / 3 within 15m and gap ≤5 Burst-dependent broad timing cluster

Pair-by-pair reading of the appendix

The compact table is easy to misread, so below is the concrete interpretation of every fixed-profile representative. Expected counts and q-values come from the same fixed comparison families for all handles; they do not incorporate public-team evidence and do not turn a correlation into a verdict.

  • Rank 2, IceKylin / mayanktr3900. There are eight events versus 0.0778 expected in the same 15-minute/five-point family, but only two distinct score pairs (q about 6.2e-11). One pair is only 11 seconds apart: IceKylin 388657345 at 15906.799, followed by mayanktr3900 388657369 at 15905.495. Their runtimes and memory differ. The small number of distinct plateaus and final-day burst structure make this much less robust than the event count suggests; no public relationship was found.

  • Rank 3, mahiro_zcy / nameyoutube. The all-time same-runtime five-point family has 214 events versus 33.81 expected and 130 distinct score pairs (q about 1.13e-91). A close example is mahiro_zcy 388040701, 16390.156 at 421 ms, and nameyoutube 388088104, 16390.028 at the same 421 ms roughly ten hours later. Memory differs. This is a broad all-time runtime/near-score correlation, not a short-time transfer, and the public team and group records I checked show no shared public object.

  • Rank 4, Zinc-acetate / Calto. The corresponding all-time same-runtime family contains 154 events versus 18.26 expected and 99 distinct score pairs (q about 3.87e-82). Calto 387313504 scored 16393.839 at 546 ms; almost a week later, Zinc-acetate 388060975 scored 16393.889 with the same runtime but very different memory. Again, this is a long-lag runtime/near-score correlation. No shared team, party, group, city, organization, or enumerated intermediary was found between the endpoints.

  • Rank 6, paqi / Irval. The all-time same-runtime/five-point family has 116 events versus 7.32 expected and 73 distinct score pairs (q about 2.28e-90). paqi 387872660 scored 16382.978 at 609 ms; Irval 388631798 scored 16382.946 at the same runtime approximately 6.7 days later. Memory differs, and the closest examples consistently place Irval later. The long lags and absence of a public relationship make this a source-review lead, distinct from the much tighter paqi/Turritopsis_nutricula cadence.

  • Rank 7, Retired_Zhisheng / BitByBit123. This is the 28-versus-0.275, 19-distinct, one-way all-time same-runtime pattern detailed above (q about 3.15e-42). Every matching BitByBit123 record is earlier and every lag exceeds one hour. It deserves semantic source comparison, but not a claim of a live hand-off from timestamps alone.

  • Ranks 10 and 14, mojo__hugo / Lao_mang. Their reciprocal all-time same-runtime/five-point screen has 603 event pairs versus 41.77 expected and 178 distinct score pairs (q about 3.3e-296). That broad count, the narrower 23-versus-2.54 result at 0.3 points, the pair-exclusive plateaus, shared Guangzhou University field, and the three-hop team-party path are all described above. The pair has no direct common team.

  • Rank 11, youlinaixu / tony1107. There are only two all-time same-runtime/five-point events versus 0.0821 expected, two distinct pairs, and family q about 0.457. For example, tony1107 387769338 scored 15689.969 at 1281 ms, while youlinaixu 388525112 scored 15685.223 at the same runtime almost a week later; memory differs. This does not survive the multiple-comparison correction. The relevant public connection for youlinaixu remains the direct rp++ party with paqi and Hyacinth, not this weak pair.

  • Rank 15, al1swedel / Mohamed_Mahmoud11. The 15-minute/five-point screen contains 33 events versus 5.85 expected and 13 distinct score pairs (q about 1.5e-12). al1swedel 388114190 scored 16102.138; Mohamed_Mahmoud11 388114511 scored 16102.728 four minutes 18 seconds later. Their runtime and memory differ. Mohamed_Mahmoud11 belongs to many public groups, but none is shared with al1swedel; no team, city, organization, or party/team intermediary was found. This broad timing result is separate from the more interpretable al1swedel/Tanya160 exact plateaus.

  • Rank 16, Jeffrey / Lyoshach. The 15-minute/one-point family has four events versus 0.0176 expected, two distinct score pairs, and q about 2.6e-05. Lyoshach 387991882 scored 16027.901; Jeffrey 387992371 scored 16027.563 five minutes 11 seconds later. Runtime is the same 1937 ms, but memory differs. With only two distinct pairs and no public relationship, I classify this as repeated but fragile.

  • Rank 17, Mango2011 / yuangengqi. The 15-minute/five-point family has 19 events versus 0.685 expected but only three distinct score pairs (q about 6.7e-18). yuangengqi 387352967 scored 15917.136, followed 55 seconds later by Mango2011 387353049 at 15915.376; their runtimes and memory differ. Both have public team histories, but their party/team neighborhoods are disjoint. The result is burst-dependent and is not evidence of a shared binary.

Several additional repeated correlations were not each account's single strongest profile but are still worth preserving for source review:

Pair Public submission pattern Public-link check
mahiro_zcy / Junky_Jami 84 all-time same-runtime pairs within 5, 58 distinct; also 31 events within 1h and gap ≤1, 15 distinct No direct team/group/profile link found
mojo__hugo / shaikhmubin 56 events within 1h and gap ≤1, 15 distinct; no same-runtime match in that branch Their public groups differ; no direct or two-party-hop link found
paqi / floweria 9 events within 1h and gap ≤1, 3 distinct; two events are within 20s Their public teams differ and have no common teammate

Finally, these are the very short one-off events that I found and preserved even though none survives the fixed multiple-comparison screen:

Pair Submissions Time gap Score gap Execution comparison
IceKylin / kitekat1__4 387737775 / 387737779 5 s 0.450 Runtime and memory differ
mahiro_zcy / Mango2011 387969205 / 387969229 22 s 0.813 Runtime and memory differ sharply
candy0014 / faustaadp 387540813 / 387540869 29 s 0.959 Runtime and memory differ

There is also a second Mango2011/mahiro_zcy observation 453 seconds apart with score gap 0.229, but it remains part of the same weak local episode. I found no exact Codeforces handle or public historical mapping for the label kitaksu. kitekat1__4 is a real account, but equating it with kitaksu would be speculation; no public team/group/profile link to IceKylin was found.

I regard this documented set—especially where repeated score behavior overlaps with a concrete public association—as strong grounds for a source-and-log review. I am not claiming that the one-off rows independently prove cheating; their purpose is to ensure the organizers receive every reproducible lead rather than only the most dramatic examples.

What I am asking the organizers to check

Please do not decide this from rounded totals alone. The organizers can test the hypotheses directly:

  1. Compare source code semantically, including control flow, constants, policy tables, class-specific branches, and unusual ordering decisions—not only textual similarity.
  2. Compare the complete 22-test score vectors and per-test metric vectors for the cited submissions. A 22-dimensional fingerprint is much more informative than one rounded total.
  3. Check whether the paired submissions came from related sessions, devices, networks, or compilation artifacts. This can be done privately; no personal data needs to be published.
  4. Review the membership history and verified contestant identities behind the public teams and groups.
  5. Because the final judging rule selected the latest strictly positive submission, inspect that selected source for each prize-relevant account as well as the cited probe submissions.
  6. If the review finds no violation, publish an anonymized explanation of what was checked. That would be much more convincing than silence and would protect innocent contestants from speculation.

My position

I reached second place during the Challenge and was pushed down to fifteenth place in less than three hours. I ultimately finished eighteenth. Seeing that sudden movement alongside the correlations above is why I investigated instead of silently accepting the result.

Under this handle, I finished within the published prize ranges in three previous Huawei/ICPC Challenges, and the current result is a fourth such placement. I have invested a great deal of time in this format. I am not asking for automatic disqualifications from a spreadsheet; I am asking the organizers to use the evidence above to perform the source-and-log review that only they can perform. My conclusion from the public pattern is nevertheless direct: I believe prohibited collaboration occurred and that it materially affected the prize standings.

If the organizers are not prepared to conduct and explain a source-and-log review when presented with evidence of this kind, then in the LLM era it is time to admit that the Huawei Challenge format no longer has a meaningful competitive future; after four published prize-range placements in these Challenges under this handle, I will no longer recommend that anyone participate in them again.

P.S. I apologize if parts of this post read awkwardly. I used machine translation for some passages because I did not have time to polish the English, and I believe the organizers need to see this information as soon as possible.

Btw, here’s a funny video showing how the cheaters simultaneously pushed me from top 2 to top 15 in less than three hours: https://www.youtube.com/watch?v=yXFaB-dMkpk

Full text and comments »

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

By plagues, history, 3 months ago, In English

Hello everyone!

A couple of days ago I finally reached IGM, and you cannot even imagine how happy I am.

I want to tell you a bit about my journey.

In 8th grade I got my first prize diploma at ROI. That was a pretty cool achievement, but I always wanted to be better. I had three whole years ahead of me to become a winner, yet I never managed to do it.

My competitive programming career has been full of disappointments.

The only year when I truly believed in myself was 8th grade. I was top 2 at IATI Junior by a huge margin, got my first VKOSHP diploma, became a ROI prizewinner, and overall progressed very fast. For example, that was when I reached 2100 on Codeforces for the first time. As you can see, it took me another 5 years just to finally become a grandmaster.

In 9th grade, my team and I got top 5 at VKOSHP. For me it was a huge tilt, because it was the first “not gold” result after I had been dreaming about gold for so long. In 10th grade I was supposed to participate in VKOSHP with another team, but because of illness I could not come, and the guys missed a bronze medal by just one problem. In 11th grade we finally participated with the full team and finished 20 places lower than when they had participated with only two people...

I remember how in 10th grade I discussed with my coach 74TrAkToR that I had written the Open Olympiad very badly. Even though I got a winner diploma, it felt like pure luck, and the actual result was really low. In 11th grade I came there again, and guess what? I did not get any diploma at all. Not 1st degree, not 2nd degree, not even 3rd degree. I still think this was simply impossible. It felt like writing a Div. 1 round for top 20 in 2023, training for a whole year, and then finishing top 1000 in Div. 2. Just madness.

And now I want to tell you the main thing you need to know if you do not want to repeat my mistakes.

1. Constant self-hatred for every imperfect result

In 8th grade I cried after the second day of the Russian Olympiad, simply because I could not show my best result. I was a ROI prizewinner in 8th grade! Very few people ever achieve that, and literally everyone told me so, but I did not care. I blamed myself, because I thought that if I allowed myself to relax there, I would stop improving.

That was a huge mistake.

Almost every Codeforces round made me rage, hate myself, cry, scream — all because I could not gain some extra 100 rating points.

Guys, this is literally the worst thing you can do to yourself.

Never. Once again: never do this.

I have many friends, including myself, who after a streak of bad results got upset and started intentionally dropping rating on Codeforces.

Here is something I once wrote to one of them:

xxx,

I have no idea whether this will help you or not, but I want to tell you my own story with CF.

I grinded CF for an insane amount of time. At some point it was basically endless.

And for a long time, nothing worked at all.

I remember the moment when I reached blue. Back then I wrote literally every round and was tilted all the time.

Then I reached purple, and again I was tilted after almost every round.

In the end I never even reached red on my main account.

A couple of times I also did something like -250, when I just could not handle this anymore.

I was extremely nervous before every round, and after almost every round I destroyed myself mentally.

And it was not only about rounds. It was everywhere.

I got top 2 at IATI Junior, where I was far ahead of the rest of the team, but after I found out that I was not top 1, I cried for three days in a row.

When I became a prizewinner in 8th grade, I cried too, because I could have done better. I got 0 on the easiest problem across both days, even though becoming a prizewinner had been my dream at that moment.

But despite everything, I still understood that I was very smart. There was a lot of evidence for that. For example, the training contests I wrote were becoming harder and harder, while I was performing better and better.

yyy often showed me that I scored a lot on some hard problem, but on the easy ones, as usual, I got 0.

My VKOSHP in 9th grade was also like that. I think I told you that I solved the two hardest problems, while zzz came drunk and solved 0 problems, using 2 hours of computer time. We missed top 1 by 20 minutes.

Also, top 1 at the regional stage of the Russian Olympiad in Informatics.

I never became a winner. I never achieved the things I wanted. But the main thing is what remained afterwards.

And afterwards there is still me: with many friends, with many people who think well of me, with a great job, with great prospects, and so on.

CF is an extremely cruel sport. Most of the time it is not even about thinking deeply, but about solving garbage as fast as possible, just like ICPC.

And the fact that things have been going badly for you lately does not mean that you became stupid or anything like that.

Bro, you can call it random if you want, but getting an insanely high place at True Tech Champ while competing against the top 1 ICPC team and the best competitive programmers in Russia is incredibly cool no matter what.

Becoming a winner in 9th grade is also incredibly cool, even if you could have done much better. Believe me, everyone understands that.

Now to the reason I am saying all of this.

I do not know whether this is similar to your situation, but whenever I understood that I could have done even a little better — or sometimes much, much better — I hated myself.

Every day I told myself that I was trash and that I had to solve better.

I thought that this would motivate me to grind as much as possible.

But all of this is complete nonsense.

I understand that top 1 at the regional stage of the Russian Olympiad in Informatics was probably not what I ultimately wanted to achieve. But being one of the three people who solved the whole contest, where in my opinion there were genuinely cool problems, especially the D problems, is actually cool. It is a real indicator.

But after I finally got at least this result, do you know what I felt?

Something slightly worse than neutral.

During these 5 years of endlessly humiliating myself, I simply forgot how to feel joy. And this had started much earlier than that regional stage.

I literally forgot how to get any positive emotions from victories and achievements.

I truly forgot how to be happy.

And brother, this is complete garbage.

aaa often told me that I had the wrong attitude towards competitive programming. He said I should look at it like this: if I wrote badly, then whatever, it happens, next time I will do better; if I wrote well, then great, I am proud of myself.

The scariest thing that can happen to you in life is losing the ability to feel joy.

Your cerebral cortex is basically a neural network aimed at getting good emotions and avoiding bad ones. So if you tell yourself that you are worthless in order to become better later, even if you do it for any other reason, this is completely wrong. You want to become better in order to achieve something, to be able to do something, to have something. But all of it becomes meaningless the moment you cannot feel joy from it.

Your goal is not to win something or prove something to someone, even to yourself.

Your goal is to be happy.

And the state where you do not feel emotions from victories and achievements has a medical name: depression.

So this kind of thing simply kills you, destroying your dopamine system.

If anything I wrote actually resonates with you, then please try to feel sorry for yourself. Remember yourself as a child. Did that little person want someone in the future to stand next to him for his whole life and insult him endlessly?

And if this is really happening to you now, then that someone is you.

So protect that boy. Do not let anyone hurt him.

I think bbb has the best attitude towards this. When he writes well, he is extremely happy and jokes around. And when he loses rating, he just laughs endlessly at how spectacularly he lost it.

In short, know that you are still one of the smartest people in the world. Love yourself for that. And of course, you are one of the smartest people I know.

If I misunderstood your situation and wrote complete nonsense, then I am sorry. I just wanted to support you somehow.

By the way, ccc did not even solve E today, and got -170.

So, guys, it is not worth it.

Do you know why I was in the hospital instead of VKOSHP? Because during one of the IOI training camps, after a contest, my hands started going numb. Then my legs. Then my whole body, including my tongue. I could not even speak normally. And then this started happening quite often.

I had always taken mental illnesses very seriously. I never allowed myself to casually say things like “I have depression” or “I am having a panic attack.” But this was literally what I had, even though at the time I did not think of it that way.

I visited countless doctors, but only much later did I learn that this was just my nervous system reacting to enormous stress, endless lack of sleep, and all the terrible things I was doing to myself while thinking they would help me achieve better results.

2. I was sure that being nervous was good

Maybe this is an unpopular opinion, but I believed that if I did not worry, then I would not care about the contest, and therefore I would not be able to show a good result.

And maybe this is true — up to the point where the anxiety gets out of control. Up to the point where anxiety starts controlling you, instead of you controlling it.

I wrote my best contests when I was sleep-deprived — this is bad advice, please do not do that — and when I wrote the contest just for the pleasure of solving problems, for the drive of competition, without thinking that this specific result meant something fundamental.

The main thing I want to say

For a long time I could not make myself believe that I was actually smart.

I saw my genuinely strong achievements. I saw how much I had done. But low rating and all my failures did not let me believe that I was truly smart.

But now, when I am in the top 200 on Codeforces, I can finally take this weight off my soul and honestly tell myself:

I am smart.

In fact, I had already been writing rounds this well for a long time — but only virtually, or in conditions where I was not afraid of the result.

Now that I started writing rounds purely for fun, I stopped looking at a problem as a threat. Now it is simply fun to solve them.

For example, recently I solved 3100 / 3000 / 2900 problems directly during rounds, and here is what I want to tell you:

They really are simple.

All you need in order to see this too is to stop being afraid of them.

Soon I will write another post, less focused on my personal experience. I will talk about how I see proper training for maximum skill growth. I know there are already many posts like that, but I am sure I can tell you something new. In particular, I will explain why I now think that solving 2900-rated problems during rounds is quite easy, and what you need to do in order to be able to do the same.

For now, thank you very much, Codeforces!

Thank you, MikeMirzayanov.

I am insanely happy that now I can finally consider myself smart. I am happy that I can finally believe it.

Have a good day everyone, and never give up!

Full text and comments »

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

By plagues, 3 months ago, In English

Am I right that CP is slowly dying?

Today I got little rating bonus placing so high.

For example, compare Codeforces Round 1015 (Div. 1 + Div. 2) with today's round.

Back then, the performance of 38th place was 3046:

Now, the performance of 38th place is only 2862:

The performance of 2nd place back then was 3980:

Now, the performance of 2nd place is only 3660:

I also checked the participant lists. In today's round there were only 15 LGMs and 183 reds, while back then there were 32 LGMs and 261 reds, even though today's round had 24284 participants, compared to only 21544 back then.

Could it be because 30 minutes after the round the top of the standings is already full of gray accounts, and strong participants are simply losing motivation to compete in the LLM era?

What do you think?

P.S. Maybe it’s just a Thursday.

Full text and comments »

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

By plagues, 12 months ago, In English

Funny submission #342066666 Accepted, but still Running on test 4 and won't let the system tests finish.

Full text and comments »

Tags bug
  • Vote: I like it
  • +19
  • Vote: I do not like it

By plagues, history, 12 months ago, In English
  • Vote: I like it
  • +310
  • Vote: I do not like it

By plagues, history, 3 years ago, translation, In English

Аfter the rating change, Zhou Kangyang is now officially going to be the highest rated programmer in the world!

I am very happy to congratulate him with this achievement! It's just out of this world, because he was born in 2007!

But the main purpose of this blog, sadly, is not to congratulate him. You all know about the rule that says that you are not allowed to have more than one account, and Zhou Kangyang has two of them in top-10: "zh0ukangyang" and "orzdevinwang" are both his accounts.

Now, as you all know what's happening, let everyone draw their own conclusion.

Full text and comments »

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

By plagues, history, 4 years ago, In English

Hello, Codeforces! 74TrAkToR and I were solving problems and have noticed one super interesting fact.

So, check this out. 801E - Vulnerable Kerbals is a very nice problem we have solved. There is an interesting solution with DP on a DAG. I won't go into detail, but in the end we had to solve this problem:

You are given an array (a) with n different numbers from 0 to m — 1. You need to create an array (b) (with same length) with (not necessary different) numbers, so if you multiply first i numbers of b and get in by modulo m, you will receive a[i]. It's guaranteed, that we can create such array.

Ok, it's easy to understand, that we must solve some equations like $$$a \cdot x \equiv b \pmod m $$$.

How to solve it? We wrote 2 similar solutions, but we had one similar mistake, but.... we got AC. I've checked jury solution and.... there is this idea toox.

Well, this solution is based on the following fact. We can get $$$b \pmod m$$$ by multiplying $$$a$$$ on some $$$x$$$ if and only if $$$gcd(b, m) \vdots gcd(a, m)$$$. Let's find x. Let $$$a' = gcd(a, m)$$$, $$$b' = gcd(b, m)$$$, then $$$p_a = \frac a {a'} $$$, $$$p_b = \frac b {b'} $$$. Easy to realize that $$$p_a$$$ and $$$p_b$$$ are coprime with m, we can get $$${p_a}^{-1} = {p_a}^{\phi(m) - 1} $$$, so our $$$x = \frac {b} {a} = \frac {b'} {a'} \cdot \frac {p_b} {p_a} = \frac {b'} {a'} \cdot p_b \cdot {p_a}^{\phi(m) - 1} $$$. So, wasn't so hard, really? Mmmaybe, but that's not true, because $$$p_b$$$ can be not comprime with $$$m$$$. $$$m = 24$$$, $$$b = 16$$$. $$$b' = 8$$$, $$$p_b=2$$$. Holy... Idk, i can't found some information about it. It's getting AC and the author of this problem uses this formula too, I think, it's right. But why??? If we use formula $$$x = b \cdot {a}^{\phi(m) - 1} $$$, it's getting WA7. Maybe are weak tests.

I also came up with the right solution: let's solve diophantine equation $$$ax+my=c$$$. ex_gcd can help you, but we must use $$$(x = 0, y = c / gcd)$$$ at the end.

I have observed one thing: all of numbers $$$a$$$ with the same $$$gcd(a, m)$$$ have the same $$${a}^{\phi(m)}$$$ that have partly the same $$$gcd$$$ with $$$m$$$, but all of the prime divisors (p) in maximum power (it power that $$$m \vdots p^x$$$, x — maximal), so, $$${a}^{\phi(m)}$$$ may have other prime divisors.

Can you help us? Thank you in advance. It's really shocking, that we pass a similar mistake.

Full text and comments »

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

By plagues, history, 5 years ago, translation, In English

You are given two arrays: a, b

We need to calculate for each x: c[x] = max(a[j] + b[x — j]), for each 0 <= j < x

a, b are sorted

Full text and comments »

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

By plagues, history, 6 years ago, In English

Hi, Codeforces. As known, Codeforces is huge platform, where programmers can compete in a single rankings. Platform, where sport programmers can chat and discuss their questions. Also, Codeforces have a big testers team. Many organizators use Codeforces to hold theirs events. For example, Codeforces is hosting a significant first level Russian Olympiad "Technocup". Recently, Codeforces is a place for education Olympiad programming.

But no matter how many advantages there are on Codeforces, it has no rating team competitions. I think, many people would like to see their realization on Codeforces. Even more, a lot of local team events held on Codeforces. Sometimes Codeforces organize contests mirrors. So why not organize such competitions? I'm sure, that many problemsetters have tasks that aren't very good for classic rounds on Codeforces, but will look great on team events. You can create a particular domain. There can be not only teams created from multiple accounts on Codeforces, but also create make particular accounts for teams. All in all, I ask MikeMirzayanov and the whole Codeforces team to listen this idea. And also I suggest all Codeforces to discuss this idea and offer yours. I hope you like our idea. Thank you for your reading:)

And thanks Prokhor74 && Renatyss for development this idea.

Full text and comments »

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

By plagues, history, 6 years ago, In English

I was solving Codeforces Round #658 (Div. 2) and decided to watch the virtual participation of JooDdae. When I opened the "Friends Standings" tab, I saw what his solved problems moved right for 1 task in the plate (he solved ABCD).

Full text and comments »

Tags bug
  • Vote: I like it
  • +26
  • Vote: I do not like it

By plagues, 6 years ago, translation, In English

Hey, Codeforces! Why did you put likes on this post?

Is that probably good news? Maybe Mike updated Codeforces somehow? Maybe it's some really funny joke about Codeforces/Programming?

NO!

The authors of this round tried very hard, came up with tasks, and because of Mike's problems all their work was almost in vain!

NO!

Mike's post, in which he said he screwed up and got a lot more likes than Monogon's post about this round!

What did you like Michael's post? Because he is Michael?

I have absolutely no blame for him. Yes, everyone makes mistakes, but for mistakes there should be dyslaiki!

Yes, MikeMirzayanov tried to fix it, but it didn't work out, and the authors suffered, and you (those who wrote the contest) lost your precious time. Are you happy about this? Did you push "I liked it" because you liked the post? Did you like the round being postponed? Did you like what you were told 10 minutes before it started? Did you come to the round for that? To lose time?

Now Mike has written another post, I'm urging him to like this post so that the authors don't feel so bad about the lost time.

I understand that maybe not everybody will like this post, but if you put dyslaic on it, please write a comment that says what is wrong with this post, maybe I am in something really wrong, and if you tell me about it, I will definitely update the post and write about it.

Thank you for understanding and sorry for my English!

Full text and comments »

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

By plagues, history, 6 years ago, In English

Yesterday my coach give me a hard problem "a + b".

In standard input gives two numbers a and b.

I must output sum a + b.

Please help me with this hard problem

UPD: YEE, I KNOW HOW TO SOLVE!

import time

a, b = map(int, input().split())
start = time.time()
time.sleep(a)
time.sleep(b)
print(time.time() - start)

Full text and comments »

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