
Привет, Codeforces!
Благодаря поддержке Neapolis University Pafos, продолжается серия образовательных раундов. Университет предлагает получение степени бакалавра в области компьютерных наук и искусственного интеллекта со стипендиями JetBrains. Получите передовые навыки в области искусственного интеллекта и машинного обучения, которые подготовят вас к востребованным техническим карьерам. Доступно ограниченное количество стипендий. Не упустите свой шанс учиться в Европе бесплатно!
В 15.09.2025 17:35 (Московское время) состоится Educational Codeforces Round 182 (Rated for Div. 2).
Этот раунд будет рейтинговым для участников с рейтингом менее 2100. Соревнование будет проводиться по немного расширенным правилам ICPC. Штраф за каждую неверную посылку до посылки, являющейся полным решением, равен 10 минутам. После окончания раунда будет период времени длительностью в 12 часов, в течение которого вы можете попробовать взломать абсолютно любое решение (в том числе свое). Причем исходный код будет предоставлен не только для чтения, но и для копирования.
Вам будет предложено 6 или 7 задач на 2 часа. Мы надеемся, что вам они покажутся интересными.
Задачи вместе со мной придумывали и готовили Адилбек adedalic Далабаев, Иван BledDest Андросов, Максим Neon Мещеряков и Роман Roms Глазов. Также большое спасибо Михаилу MikeMirzayanov Мирзаянову за системы Polygon и Codeforces.
Удачи в раунде! Успешных решений!
Наши друзья из Neapolis University Pafos также хотят передать вам сообщение:
🚀 Бесплатные клубы по Математике, ИИ и Программированию
Университет Neapolis Pafos совместно с JetBrains приглашает школьников (13–19 лет) присоединиться к клубам по математике, искусственному интеллекту и программированию. Это еженедельные программы, созданные для прокачки ваших навыков решения задач через специально подобранные челленджи и живые сессии.
Не упусти шанс отточить свои навыки (и получить удовольствие от крутых миксов задач, которые подготовил pashka).
🔹 Математический клуб
Заложи прочный математический фундамент, чтобы улучшить свои навыки программирования. Каждую неделю ты будешь получать 10–15 постепенно усложняющихся задач, а также полуторачасовую живую сессию каждую субботу. Доступно два уровня сложности, так что ты можешь выбрать траекторию, которая тебе подходит.
💡 Лучшие участники получат 5 бонусных баллов на вступительном испытании на программу бакалавриата «Computer Science and Artificial Intelligence» в Neapolis University Pafos — это полностью финансируемая программа благодаря стипендиям JetBrains Foundation.
👉Присоединиться к Математическому клубу
🔹 Клуб Искусственного Интеллекта
Погрузись в мир искусственного интеллекта — от основ для начинающих до олимпиадных тем (например, IOAI). Присоединяйся к живым сессиям по средам и выполняй еженедельные домашние задания, чтобы постоянно прогрессировать.
👉Присоединиться к Клубу ИИ
🔹 Клуб Программирования
Идеальный вариант для тех, у кого уже есть опыт в спортивном программировании и кто хочет выйти на новый уровень. Каждую неделю — микс из задач с прошлых контестов Codeforces, который курирует Павел Маврин (чемпион мира ICPC 2004, серебряный медалист IOI 2002 и инструктор JetBrains Academy).
👉Присоединиться к Клубу Программирования
🎯 Продемонстрируй свои навыки:
Прими участие в третьем JetBrains Youth Coding Challenge — соревновании для школьников 13–19 лет. Лучшие участники будут приглашены на четвертый Algorithm and Code Training Camp (ACTS) 2026.1 в Румынии или на ACTS Online в январе 2026 года.
UPD: Разбор опубликован









expert now?
I trust u.
i am a beginner therefore i dont know much abt it. i have i question that why didnt i got any after yesterday's div 4 contest ?? Is there any delay in results??
u registered unrated for that contest.
i just clicked on register button :(, can you tell me how can i correct my mistake for future ??
When you register, you have to make sure that you didn’t click the "Participate as Unrated" option; that's it.
sometimes it takes some time, dw abt it just keep grinding
You should click the rated button if there is when registering
That's only for div.4. For other divs, your rating decides whether you are rated or not.
so if am less than 1000 would i be unrated for div 2??
Rated. Read the blog top there. It said "will be rated for the participants with rating lower than 2100".
oh thanks mate
good luck!!!
)
NO
All the best everyone!
Guys Why so many contests are coming?
Math, AI, Coding clubs sound like an amazing chance for beginners to grow their skills
Guys why so many contest are coming?
Is this a rated contest? Can someone kindly answer?
This round will be rated for the participants with rating lower than 2100
Thanks
Hi awoo,
Anything you can do to help with the crawling bans for hacking? These crawling bans have three key disadvantages:
On other platforms (such as leetcode), I can freely click through submissions which is valuable for additional test cases and cheat detection. On codeforces it seems like there’s a unique technical constraint that currently results in broad bans on anyone clicking through submissions at a normal pace.
Anything you can do to improve the experience for people who enjoy contributing to hacking rounds would be greatly appreciated.
Thanks,
DarkTemplarDrop
And I've been banned for crawling...
Second ban oof.
What's crawling?
They have some kind of detector that determines whether you are a bot or not, and then you get banned from clicking into submissions for hours at a time. The detector currently is very bad at distinguishing a bot from a human.
I hope I can reach Cyan in this contest
I hope you reach Cyan in this contest
Hope for me too
Hope for both of us
i hope too
will i return to expert? we are waiting :)
I hope you reach it :)
I am newbie. Will I reach to pupil :)
no unrated participation?
why unrated? trust yourself
Sometimes there are occupancies during the contest timings, its better to participate unrated than to use an alt account.
Maybe you can wait for another day and do virtual participant.
click to see all of the contest registrants, and there is a button for changing to unrated
watch me win
It would be great to have the unrated participation option available for all the contests, always, MikeMirzayanov ❤️
Will grind Hard to become Pupil, This time .
6 or 7 problems?
Not able to participate as unrated ;-;
click to see all of the contest registrants, and there is a button for changing to unrated
wish to be a pupil
all the best!
wishing for +ve delta for everyone
For some reason I have a button to register unrated, and it does not show me that I am out of competition, and I'm definitely over 2100 rating.
As dumb a question as this might be, but are all the Educational rounds hosted by Neapolis University Pafos?
If yes, then what are they for exactly? Honestly, I join for rating.
Is it normal for so many submissions for a problem like D. It doesn't felt that easy.
agree with you. To me, E1 is much easier than D.
agree
agree
How did so many solve E1????
Yet another time I feel E<D. Got stuck on D for one hour and do not have time to implement E2 :(
Can u give me some hints for E1? I don't know I made some observations but feel stuck now.
L is strictly increasing, and R is strictly decreasing. Therefore, L and R have only one item in common, which is the end of L and the beginning of R. So we consider enumerating these positions and calculate the sum.
Consider using dynamic programming to calculate the number of ways each position can be the end of a subsequence. The final answer is obtained by choosing an endpoint for L and a starting point for R, and then multiplying by the number of ways to select arbitrarily from the middle.
Thanks, mate.
what rating range of question should I solve if I am stuck at C always for Div2?
Looks like I found you again mate while scrolling, keep trying man you will make it to green. Also try to solve problems in an organized matter like do usaco they have cf problems and ones from other sites organized in every category. Like for example c was just dp nothing else as simple as that you just have to do some for a long time in the usaco
Thanks [user:Hajdelk].
speedforces
well well well , good D. Don't know how people solved it, stared screen for 1:30 Hour
Just iterate on all $$$x \leq 3e5$$$.
What?
Iterate on $$$x$$$, iterate on $$$i$$$, find all $$$c_i$$$ that satisfies $$$ceil(c_i / x) = i$$$. We can break when $$$ix \geq 2e5$$$, so the total time complexity is $$$O(n\log n)$$$.
care to shed some light
wouldnt it result in TLE ?
The audacity to cheat and simultaneously give advice is laughable.
Yeah right, and I solved E1 and you couldn't solve D too.
you could consider every element in array, and check how many of its multiple exists in arrray. worse case array is [1,2,...,2e5] so 1st element takes N iterations 2nd element takes N/2 iterations so on, its just O(NlogN) now just check which x is optimal.
example: 50 150 450 x = 3 is optimal since 50*3 exists, and 150*3 exists, so you could get 2 items for free just maintain some freq array where fr[i] tells how many if x = i, how many items you get free
Let $$$\max c_i = A$$$. You don't need $$$x \gt A$$$, since $$$x = A$$$ gives the same result (except for the case $$$A = 1$$$).
For a given $$$x$$$, you can get the answer as follows: for each $$$i$$$ from $$$1$$$ to $$$\frac{A}{x}$$$, calculate the number of items getting price $$$i$$$ (these are all items from $$$i \cdot (x-1) + 1$$$ to $$$i \cdot x$$$, and you can get the number of them in $$$O(1)$$$ using prefix sums).
So, for a given $$$x$$$, we can get the answer in $$$O(\frac{A}{x})$$$. This gives us a complexity of $$$O(A + \frac{A}{2} + \frac{A}{3} + \dots + \frac{A}{A}) = O(A \log A)$$$, plus $$$O(n + A)$$$ for building the prefix sums.
wow!
Very cool problem. I think it should be $$$(i - 1) \cdot x + 1$$$.
My impl: https://codeforces.me/contest/2144/submission/338828720
wow!
Can someone tell how did they solve D?
you need to check for all x [2 , max(ai)] , just think how you can optimize division get the sum quickly.
and answer for division will be same for a range of elements
Hi there, this is my solution for D. So you will try all X, if you have X, there 200000/X value that you can potentially keep. Now let say one of these value you can keep as J.If you divide all C[i] by X.All C[i] that has value from (J-1)*X+1 to J*X will become J.And the number of sign you can save is MIN(C[J],Number of sign from (J-1)*X+1 to J*X. Now that we have a solution, how do we know this can run in allowed time constraint. Let's say our complexity is 2e5/1 + 2e5/2 +...+2e5/2e5. This sum shall be equal to 2e5LOG. Hope this help.
Why using java in D gives TLe
A >> B ?
Why does Writing code in java gives TLE in D wheras CPP code works
Because Scanner is slow.
yes i agree but it should not affect the whole solution
yes it does, use BufferReader instead. This will never cause TLE, unless you are solving search and sorting section of cses ;_;
Logic for C ?
...can be solved using DP (2dp arrays one for swap and one for no swap)
There is always a solution, so the minimum answer is 2. First, create a valid solution for both arrays, then see if you can swap any position. If you can, just multiply by 2 each time. 338832246
can someone tell me whats wrong in my code
can someone explain whats wrong in my code
dp[0][1] would be 1, no?
is my dp transition is correct
Yes. Your DP transitions are correct.
dp[0][1] = 0; is wrong i guess it should also be initialized to 1
You are doing modular arithmetic wrong first and third additions are wrong while second and forth are correct
yes , i took wrong modulo value
You set dp[0][1] to 0, it should be 1, cus if u only have the first elements, u can swap them.
Bruh minGW straight up deleted my files instead of compiling and then said "oh whoopsie I can't find the file :D"
I was able to even recover E once somehow and then it happened again sadge
NOOOOOOOOOOOOOOOOOOO (it's so over I can't even write the compilation command right)
Sad. I think you should look into less tedious ways. Also, you will only be working on one problem at a time so why not just use
g++ E.cppand use thea.outexecutable?Yeah good point. I like having all the .exes in the same place so when I get stuck I can switch problems, but ig it won't hurt to just recompile. Also might be time to finally use a macro.
I think changing the position of -o will fix the problem: g++ E.cpp -o E
yeah learned that the hard way :')
got MLE on PD...
time: $$$O(n \sqrt {n})$$$
space: $$$O(n \sqrt {n})$$$
I forgot that $$$O(n \sqrt{n})$$$ is too large for space complexity...
D was really good problem. Any hints ?
Consider some final price, p. Now for some i, p = ceil(c[i] / x). Now, it's easy to see that we will get the same price p for not only c[i] costs but for a range of costs. Suppose x = 5, then ceil(50 / 5) = ceil(49 / 5) = ceil(48 / 5) = ceil(47 / 5) = ceil(46 / 5) = 10. So, a good idea is : we can find the range and work on how many times the elements in that range will appear in the original array.
p — 1 < c[i] / x <= p -> c[i] ∈ [(p — 1) * x, p * x]; x ∈ [2, max_cost]
We can simply store the frequency of each cost in a frq array and make another prefix sum array called pref such that pref[j] — pref[i — 1] = Number of occurrences of elements from the range i to j. Then iterate over all x and get the new sum of the array of costs. For each value of x, we'll get a result = sum — y * (n — cnt); where cnt = Number of elements in the range [x * (p — 1) + 1, p * x], p is calculated for the corresponding x. Finally maximize the ans. ans = max(ans, result); Time Complexity = O(max * log(max));
Time Complexity is not $$$O(n^2)$$$ you can optimize by fixing a MAX value till which the old array elements are and now for each $$$x$$$ the range of $$$p$$$ you have to check is such that $$$(p-1)x + 1 \leq MAX$$$ so $$$p \approx \frac{MAX}{x}$$$.So total time is
oh my bad. Lemme edit that.
Hey I got same idea to find the frequency quickly but unable to get the Idea of frequency array pref can you give a little bit more detail
Umm it's quite straightforward. U just make a frequency array, vectorfrq(max_cost + 5, 0) and store the frequency of the elements of the original array there. Then to calculate the frequency of the elements in a range efficiently, use another array as the prefix sum array, vector pref(mx + 5, 0) where pref[i] = pref[i — 1] + frq[i], for all i ∈ [1, mx]. Now, we can calculate the frequency of a range of elements in O(1). ∑frq(l, r) = pref[r] — pref[l — 1];
got it , thanks vro
couldn't even solve A. Problem A was definitely higher than 800, or maybe I'm too dumb.
you are not stupid, you just make it too hard sometimes
you just have to look at the problem from a different angle
also A is 1000 in my opinion!
its just bruteforcing l and r why 1000?
Screencast with commentary
My solution for C. Idk what is wrong in this. Plz help
Why is this wrong someone explain plz
try to solve the problem in O(n)
very simple
for each ai , bi or there is either 1 way or there are 2 ways (you can swap)
try greedy
What does $$$2^{dp[j]}$$$ mean here? It seems too big.
oh i misunderstood the qs again T_T
We must ensure that after all decisions, both arrays are sorted.
We need a DP-based solution since trying all 2^n subsets explicitly is too slow.
dp[i][0] = number of valid ways to reach index i where we do NOT swap a[i], b[i]
dp[i][1] = number of valid ways to reach index i where we DO swap a[i], b[i]
dp[1][0] = dp[1][1] = 1; At the first position, both swap and no-swap are allowed.
Transition for each i = 2 to n:
Each transition checks if the current pair (either swapped or not) can maintain sorted order from the previous state (either swapped or not).
After processing all indices, the answer is dp[n][0] + dp[n][1].
Submission : 338809665
Stuck in D for an whole hour getting both MLE and TLE because I thought the intended solution is $$$O(N\sqrt{N})$$$. sad.
me too...
me too..
Wasted whole hour proving $$$O(N\sqrt{N})$$$ solution, but just realized that effort was in vain.
could you explain how we do in O(N * sqrt(N))?
you can prove that x is not greater than sqrt(maxValue), with maxValue is max(a1, a2, ..., an)
So you can for loop for each i from 1 to N, and then for loop x
But this is not correct solution, I wasted more than hour for this :(. Poor me
me too... I thought that it's solved by dividing $$$x$$$ by $$$\frac{A_i}{x}$$$
I got it completely wrong...
E1<<<D
:)
I felt like time limit was too tight for D :/
My nlogn solution in cpp TLEed
Also, i didnt get the point of having 10 test cases per test without any limit on the sum of n. That can allow 2e6 input elements with 2 sec limit
$$$t$$$ was 10 because we need to calculate range frequency sums and $$$c_i$$$ ranges upto $$$2e5$$$
Use fast I/O.
ios_base::sync_with_stdio(false); cin.tie(NULL);add this at the beginning of the main function and it should pass.I got 2 WAs on Problem C just because of using MOD=1e9 + 7. :(((
I wrote the following solution for the D problem , and everytime it got TLE on the 3rd TC.
but after contest i added this line (ios_base::sync_with_stdio(false); cin.tie(0);) in my main function & it got accepted . How?
This is really absurd.
please sombody explain it.plz
Can anyone tell why is this code wrong https://pastebin.com/kacZJB1A
The current time limit for Python on problem E1 seems too strict. My solution, which is clearly O(n^2), times out on test 20 even though this complexity should be acceptable for the given constraints. Could you please consider raising the Python time limit and rejudging all Python submissions for this task? Here is my code for reference (it’s straightforwardly O(n^2), submitted on PyPy 3.10) : 338820099
I think this is slower than $$$O(n^2)$$$, it looks to be $$$O(n^2 \log n)$$$ because of using
pow.Hi BledDest, do you have admin privileges to remove crawling bans?
No, I don't have them. Probably the only ones who have them are MikeMirzayanov and Vladosiya.
You’re right, the pow calls explains the Python TLE (even though C++ passes)
.
solving A with brute force with 3 loops ; )
Can anyone please tell what is error in this code?? https://pastebin.com/kacZJB1A
Sat like a fish out of water after seeing D :(
Straightforward for D:
When an old tag cj “covers” a new price ceil(ci / x):
Range of cj for fixed x:
Frequencies and prefix sums over original prices:
How many ci produce the new price cj:
How many tags are reused:
Enumeration:
Complexity:
Submission. Made in 4 hours :-))
I think it was a decent Edu round.
What's your definition of a good pair for C?
how about max(a[i],b[i])<=min(a[i+1],b[i+1] this ensures that pair (a[i],b[i]) is good.. swapping and not swapping the pair both works for sorted sequence
To solve problem C, I used this O(n) approach.
Let dp[i] be the number of good subsets that use elements from positions 1 to i.
If a[i] ≥ a[i-1],
a[i] ≥ b[i-1],
b[i] ≥ b[i-1],
b[i] ≥ a[i-1]
then adding index i+1 is optional. For every existing good subset, we can either keep it as is or include i+1, which doubles the count: dp[i+1] = 2 * dp[i]
Otherwise, adding index i+1 is required to maintain validity, so the count stays the same: dp[i+1] = dp[i]
C can be solved without dp.
idea: at first swap each pair so that $$$a[i] \geq b[i]$$$
Then both sequences are sorted. It’s not hard to see that the entire set of indices now splits into disjoint segments, where we can either swap all elements or not swap them at all. The answer is $$$2^{numberOfSuchSegments}$$$.
code: 338797210
This is an interesting submission :)
I’d take a look, but currently banned for “crawling”.
I don't understand my D solution. I calculated prefix sums until 2e5, wrong answer on test case 5. But when i changed it to 3e5, it ACed? Why's that happening? shouldn't we check only until max value?
https://codeforces.me/contest/2144/submission/338844703
Your inner for loop looks like
for(ll j=i;j<=200001;j+=i). You deriver = j, l = j - i + 1from it. Ideally, we will only need to check till 2e5, not 2e5 + 1.Now consider the case where
j > 2e5, butj-i+1 <= 2e5. Yourj <= 2e5condition will evaluate to false, but you end up missing the elements in the range[j-i+1, 2e5]. So, what you should do is check forj-i+1 <= 2e5and setl = min(j, 2e5)instead.AC with these changes: https://codeforces.me/contest/2144/submission/338884584
Thanks a lot my guy. Yeah we've to set r = min(j,2e5).
These questions are all very interesting and I really like them.
sadly, don't solve problem D in contest, i realized that I needed to enumerate over the value domain, but in the end, I still didn’t figure it out clearly.
My screencast here
Problem B. Maximum Cost Permutation
Video Editorial Link: https://youtu.be/f3RfU-lfuH0?si=Ge5mszVMB8SH-5Zs
Thanks for watching!
The test cases in C are so weak that my dp code passed only just MODing the final answer.
338776949
The testcases for C are so weak that my dp code passes only just MODing the final answer.
Code
When the contest begin,Chinese students are sleeping,:(.I am not happy.
When the contest being,Chinese students are sleeping.I am not happy,because I can't take part in this contest,I have to go to sleep.:(
I have reached home from office nearly one hour after the contest began… yet that didn’t stop me from scoring 3 problems on the very first attempt within 50 minutes, Siuuu...
I think it turned unrated.
I think peaple's feedbacks with D is interesting. Seems $$$O(n + \frac{n}{2} + \frac{n}{3} + \dots + \frac{n}{n}) = O(n \log n)$$$ is a well known trick. But after some simple transformations, it did confuse many people, including me :)
What's the difference between educational rounds and normal div2 rounds?
Different scoring style and the problems are more of educational kind(they teach u some concept)
where's editorial ?
orz bkdn25.algorit
When the tutorial will be released ?
Why is there no score for this contest?
Because it's Edu Div. 2 not regular Div. 2
not true..
$$$O(n^2)$$$ passes for D https://codeforces.me/contest/2144/submission/338807854
That is not O(n^2). If you see he is terminating the 2nd loop if j*i<=3e5 which reduces the time complexity to O(nlogn).
it’s my code lol. Thats not the part thats n^2. Look at the next part of the code.
You have a big fat if statement before that second loop It ensures that the loop for j 0->n is not run everytime.
Sure, but there’s no reason to believe that that heuristic should prevent it from being O(n^2).
where is tutorial or it is rated or unrated how do i know can anyone help me
where is rating?
never understood.
My first rated match. Solved Problem B. In problem A, printed arr[i] and arr[j] instead of I and j. But timer got over. Friends,can you tell if div 2 regular round is tougher than educational round div 2.
Yeah I feel regular div2's are a bit harder than most of the Edu's.
Where can I find the answers to this contest?
It's my first time to participate the contest, why does my interface display "unallowed rated"? :(
can somebody tell me where i am going wrong ? submission for D
Please Give me My rating updates, T_T
Anyone got the ratings for this ?? I haven’t got it yet it’s been 12+hrs
me too
when will ratings be given
Why the rating does not gets updated for the contest Educational Codeforces Round 182 ?
why is it unrated?
Where is the editorial?
ANY HINTS FOR 'C' ??
there are 4 types of element in it : 1. fixed: if a[i]<=a[i+1] && a[i]>b[i+1] and vice versa 2. essential change: if a[i]>a[i+1] && a[i]<=b[i+1] ...
in these cases we have no other choice. 3. free: if a[i]<=a[i+1] && a[i]<=b[i+1] ... this one can change.
4th is not possible as per question. so we will take continious ones with no choice as 1 element, count all element(say k) calculate and print 2^k.
Thanks to this contest because after this contest I'm out of newbie now.
In the recent Educational Codeforces Round 182 (Rated for Div. 2), I noticed that the code of this user kzhi shows signs of code plagiarism (338807618). He obfuscated his code, and I feel like he might have taken the solution from AI. I sincerely hope that the admins MikeMirzayanov and the contest organizers awoo can permanently ban this case.
please upload the editorial
I have received a plagiarism warning for my submission, but I do not know the other participant whose solution coincided with mine. I did not share my code with anyone, nor did I use any external/public sources. My work was done independently on my local machine, and I have no connection with the flagged user. Please review my case. I am happy to provide any additional information or logs to help clarify the situation.
Hi to the moderators and admin. My solution submitted for 2144C was given to be matching with uno_20/338781348. I would like the moderators to once again take a note of the question. In a general 2DDP we have a fixed way of writing the code, I have been doing the same types of questions in same format for last 2-3 months. Now you have flagged it as plagiarised and removed me out of competition what do I do? Will you mark the contestants for writing the same response for "Hello World" too? In the question we had to compare the consecutive elements in 2 arrays and I did exactly that and allocated the best answer to the DP matrix and initialized the dp matrix before hand with 1s. Now how can you all say that my answer is matching with someone even when I do not even know the person. I request you all to please take this into consideration and put me back into the competition because I had outperformed my expectations in that contest and It had be a good achievement for me rather it became something else due to this negligence. It is not fair. I am not wrong here, you need to correct it. 338770485 MikeMirzayanov awoo.
Dear organizers,awoo and MikeMirzayanov,
I received a notification about my solution (338804979) for problem 2144E1 - Looking at Towers (easy version) and (338785110) for 2144D - Price Tags coinciding with other participants' solutions. I want to emphasize that I solved the problem independently during the contest using USACO IDE (a private IDE), and I did not share my code with anyone or access external sources.
The similarity in solutions might be due to:
The problem having a common solution approach (e.g., greedy, DP, or standard algorithm) that leads to similar code structures.
Small constraints or obvious implementations that result in identical code segments.
I assure you that I strictly follow Codeforces rules and value the integrity of the platform. I kindly request you to re-evaluate my submission and remove the skip penalty if deemed appropriate.
Thank you for your hard work and fairness.
Best regards,Chillprogammer.
Editorial????
Auto comment: topic has been updated by awoo (previous revision, new revision, compare).
Title: Appeal: False Plagiarism Flag for Submission 338775909 (Problem 2144D) Hello Codeforces team, My handle is ishowguts. Submission 338775909 for problem 2144D was flagged as coinciding with submission 338766632, but I wrote all the code myself offline in VS Code with no collaboration. Development timeline & evidence: * First save: September 15, 2025 at 9:03 PM IST * Last save: September 15, 2025 at 9:54 PM IST * All file “last modified” timestamps in my local workspace reflect this period * I never uploaded or shared my code on any public IDE or platform during development * I implemented each function and logic block manually in this session Please manually review both my code and the other submission. If you need any more evidence, I am ready to provide it. Thank you for your time and understanding. @MikeMirzayanov @awoo
Title: Appeal: False Plagiarism Flag for Submission 338775909 (Problem 2144D) Hello Codeforces team,MikeMirzayanov awoo My handle is ishowguts. Submission 338775909 for problem 2144D was flagged as coinciding with submission 338766632, but I wrote all the code myself offline in VS Code with no collaboration. Development timeline & evidence: * First save: September 15, 2025 at 9:03 PM IST * Last save: September 15, 2025 at 9:54 PM IST * All file “last modified” timestamps in my local workspace reflect this period * I never uploaded or shared my code on any public IDE or platform during development * I implemented each function and logic block manually in this session Please manually review both my code and the other submission. If you need any more evidence, I am ready to provide it. Thank you for your time and understanding.
Hi awoo and MikeMirzayanov,
I received a plagiarism warning regarding my submission 338766379 for problem 2144C, which was marked as coinciding with submission 338804878 by user Chervinko.
I would like to clarify the following:
My submission was made before the compared one.
I did not leak my code. I worked only on my local machine, without sharing my code through pastebins, repositories, or public IDEs.
My solution idea came from a known LeetCode problem. While solving, I recalled the LeetCode problem “Minimum Swaps to Make Sequences Increasing”. That problem also uses a 2-state DP (swap / no swap) with four transition checks. I adapted this idea for the Codeforces problem, but here the task is different. I wrote the solution independently during the contest.
Reason for similarity between participants. Since this DP formulation is a well-known standard approach, independently written solutions naturally end up very similar. The similarity with another participant’s code is coincidental, not due to copying.
Given these points, I kindly ask you to reconsider the skipped verdict on my solution. I respect the rules and take plagiarism very seriously. I assure you this was an independent solution that I developed myself.
Thank you for your time and for organizing the contest.
Hello awoo and MikeMirzayanov
I am appealing my plagiarism flag for Educational Round 182, submission [338801217] (problem 2144C).
I want to clarify:
I do not know the other users mentioned (falakejaz2004), and I did not copy their code.
I wrote my own solution during the contest. The problem 2144C – Non-decreasing Array is a straightforward DP problem with a common pattern. Once you identify the condition, many people will naturally write very similar code. That is why my solution might look close to others, even without any copying.
The only external help I sometimes use is AI tools, and only for syntax correction (like fixing semicolons or braces), not for solving problems.
If needed, I can provide proof that I submitted my code earlier and that it was my own work.
It is possible that another participant used AI as well, which generated code that looks similar to mine.
I kindly request that you review this case again. Please restore my rating and ensure my account is not banned. I respect the Codeforces community and I want to continue participating fairly.
Thank you for your understanding.
Hello, I received a warning for submission 338795126 for problem 2144F regarding significant similarity with other submissions. I would like to clarify that I wrote this solution independently without copying from anyone else. I may have used common templates or standard approaches that are widely known in competitive programming, which could explain the similarity. I did not use any public code-sharing sites during the contest. All my code was written in my personal environment.
If needed, I am happy to provide a detailed explanation of my approach and the reasoning behind my solution to prove its originality.
[Regarding plagiarism warning for submission 338811303]:
Hello, I received a coincidence warning for my solution (submission ID: 338811303) for problem 2144D. I have posted a detailed clarification on my blog here: https://codeforces.me/blog/Sumits_0803
Please review the explanation there. Thank you for your time.
:/