Автор Proof_by_QED, 14 месяцев назад, По-английски

Hello Codeforces Once Again

After months of hard work, cry, Lilypad and I are extremely proud to welcome you to participate in EPIC Institute of Technology Round Summer 2025 (Codeforces Round 1036, Div. 1 + Div. 2) at 06.07.2025 17:35 (Московское время). This round is combined for Division 1 and Division 2, and it will be rated for everyone.

You will be given $$$3$$$ hours to solve $$$9$$$ problems. One problem will be split into two subtasks.

We would like to thank the following people for making the contest possible:

The scoring distribution is below.

A B C D E F G H I
$$$500$$$ $$$1000$$$ $$$1250$$$ $$$1750$$$ $$$2000$$$ $$$(2000+2000)$$$ $$$4000$$$ $$$4750$$$ $$$4750$$$

And now a word to our sponsors: EPIC Institute of Technology

EPIC

About EPIC Institute of Technology

EPIC Institute of Technology is an innovative educational project, driven by the Deltix team under the EPAM Systems umbrella. As part of EPIC — EPAM Product Innovation Center, we aim to cultivate the brightest minds and prepare them for a future in cutting-edge technology projects.

Why EPIC:

EPIC Institute of Technology is an accelerator for the best talents. Our students will acquire hands-on experience in one of the selected major programs, all of which are highly demanded right now on top projects, together with the fundamental knowledge, so indispensable for real professionals. Successful graduates will have a unique chance to jumpstart their career on the most challenging and interesting EPAM projects worldwide. You will join the community of intelligent and driven individuals and have an honor to work with and learn from them.

Here are the answers to the most common questions:

How much does education cost?

EPIC Institute of Technology is completely free. There are no fees to register for exams, tuition fees or any other hidden liabilities. The only restriction for getting into EPIC Institute of Technology is age. You must be at least 18 years old to become a student.

How is the educational process organized?

Each program lasts exactly one year. The academic year consists of two semesters. Courses in the first semester are the same for all programs. Courses in the second semester depend on the selected major program.

During the semester, students complete homework assignments and take 2 exams—a midterm and a final. The final grade a student gets for each training course depends on the quality of completed assignments and participation in practical classes.

How will the classes be held?

Lectures will be pre-recorded and available for self-study. Practical classes will be held at the specified time according to the provided schedule. Also, students will have access to a Discord server, where they can discuss topics of academic interest with teachers and other students.

In what language will I study?

All programs are in English.

How can I apply?

The admissions process is as follows:

1) Register on our platform
— You can immediately try a test contest to check your readiness and get familiar with the platform.
2) Take one entrance exam on July 20, July 26, or August 1
— You only need to pass any single exam to qualify!
— If you don't succeed on one date, you can try again on the next.
3) Automatic enrollment for all who pass any exam.

Pro tip: Check out previous exam breakdowns in our Codeforces group for extra preparation help.

What will happen after graduation?

All EPIC Institute of Technology graduates will receive a diploma, and top students will be offered the opportunity to join EPAM projects where the skills gained during their training will be in high demand.

Please visit our website to learn more about EPIC Institute of Technology and the available programs. If you have any questions, you can quickly ask them in our chat. Stay tuned to our announcement channel and LinkedIn page and never miss an update!

We sincerely hope you will participate and enjoy the problems. Good luck!

UPD: score distribution released

UPD2: https://codeforces.me/blog/entry/144382 editorial

  • Проголосовать: нравится
  • +776
  • Проголосовать: не нравится

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +25 Проголосовать: не нравится

I AM satyam343'S BIGGEST FAN!!!

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +36 Проголосовать: не нравится

As a tester, I can confirm that the most climactic moment during testing was when they said "welcome to the final problemset". Except for the fact that it wasn't the final problemset.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +40 Проголосовать: не нравится

As a tester, I really enjoyed the problems. Recommend to participate.

»
14 месяцев назад, скрыть # |
Rev. 2  
Проголосовать: нравится +19 Проголосовать: не нравится

As a participant, I was invited to test this round when it was a div2 but thankfully I was lazy so I can participate officially.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +16 Проголосовать: не нравится

As a tester, I tested two contests one in December and one three days ago.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится -21 Проголосовать: не нравится

As a tester, this is by far the best div1+2 I have ever tested. (It is also the only one)

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +67 Проголосовать: не нравится

As a tester, I have no idea why I’m VIP tester.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Two contests two days is something I've never seen before...

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

A 3 hour cry round 😳

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +22 Проголосовать: не нравится

As a tester, I pretend to test.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

This is surely gonna be a great and exciting round fr.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +26 Проголосовать: не нравится

As a tester, this is the first contest I tested.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

As a tester, when did I test this round? I don't even have a clue what you're talking about...

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +41 Проголосовать: не нравится

As a responsible tester, I forgot to test this contest for 6 months.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +12 Проголосовать: не нравится

As a monkey tester, the problems were good enough to remind me the taste of ginger.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

This round must be extremely tough due to the score distribution...

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Looking forward to get absolutely destroyed by this contest (or not ?)

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +18 Проголосовать: не нравится

Finally a new Div1+2. I waited CF Div1 for whole June!

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится -26 Проголосовать: не нравится

Gotta make this Div1 count cause apparently now we get two Div1 contests per year lol

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Isn't this the first time we get a non Div 3/4 round by cry

»
14 месяцев назад, скрыть # |
Rev. 3  
Проголосовать: нравится -10 Проголосовать: не нравится

As a newbie should I participate or it will be too hard?

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

good luck

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

If you are caught using AI in an unorthodox manner, you will be sent to cry's basement.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

ok so score distribution is interesting..

first of all many problems have small score so more problem solving for div2 folks.. I am hoping F-1 is easier than yesterday's div2D

but somehow they skipped (2000-3999] and directly 4000s problems are there LOL .. good luck div1 people

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +21 Проголосовать: не нравится

cry often releases Div3. May I ask Div1+2 = Div3 ?

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

Who is going to enroll in EPIC Institute of technology?

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Are the testers allowed to participate in the round?

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

As a participant I hope cheaters are sent to cry basement.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

as a participant hoping for a positive delta .

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Holy moly that score distribution 2000 to 4000 is wild it's giving negative delta vibes lol God save us

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится -21 Проголосовать: не нравится

are you ready people !!!

to give up your sleep to get beaten by AI cheaters LMAO ...

lezzGOOO 3hours

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

okay, what to do for an hour now?

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Good Questions!!

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

Finally cracked D in a Div. 1+2 contest for the first time.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Who in their right mind thought B was harder than A?

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +18 Проголосовать: не нравится

I cancelled some of my weekend plans in the hope that I will get < 1000 rank in at least one of the div2 contest and will get closer to CM rank... but I have failed..

next time I will go out and touch grass for more happiness.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

Hello depression my old friend!

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +41 Проголосовать: не нравится

Great problemset, had lots of fun!

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

Any way of solving D elegantly without frequency checks through a Segment Tree?? The greedy technique (in case v[k — 1] == v[k — 2] in the sorted version of the array led to a very tedious implementation for me)

  • »
    »
    14 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится +1 Проголосовать: не нравится

    First, remove all elements > the k-th smallest element. Then check if all elements < the k-th smallest form a palindrome. Then try to adjust the k-th smallest element

    • »
      »
      »
      14 месяцев назад, скрыть # ^ |
       
      Проголосовать: нравится +1 Проголосовать: не нравится

      yeah exactly. but the implementation felt too long. it's like a check for <k for palindromes, then check for each interval between those whether we can accomodate kth smallest element. also need to take care of the additional palindrome check for <k where that array's size is even.

      WAIT i realized. i thought we had to check twice for <k elements and also add the kth element between for the odd case. completely overlooked that it had to be palindrome on it's own!!!

      • »
        »
        »
        »
        14 месяцев назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится

        that was very easy by using map


        // Created on: 2025-07-06 22:58 // Author: Safwan_Ibrahim #include <bits/stdc++.h> using namespace std; #define ll long long #define endl '\n' const int nn = 2e5 + 17; int n, k; vector<int>A, B; bool pos() { int cut = n - (k - 1); map<int, int>Mp; for (int i = 0; i < cut; i++) { Mp[B[i]]++; } for (int i = 0, j = n - 1; i < j;) { if (A[i] == A[j]) { i++, j--; } else { if (Mp[max(A[i], A[j])] <= 0) return false; Mp[max(A[i], A[j])]--; if (A[i] > A[j]) i++; else j--; } } return true; } void Try() { cin >> n >> k; for (int i = 0; i < n; i++) { int x; cin >> x; A.push_back(x); } B = A; sort(B.rbegin(), B.rend()); bool yes = pos(); if (k != n) k++; yes |= pos(); cout << (yes ? "YES\n" : "NO\n"); A.clear(); B.clear(); } int32_t main() { ios_base::sync_with_stdio(0);cin.tie(0); int t = 1; cin >> t; for (int i = 1; i <= t; i++) { Try(); } return 0; }
  • »
    »
    14 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится +3 Проголосовать: не нравится

    I used PBDS instead of segment tree, same logic easier on the implementation side though

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Do we divide the array based on where the prefix sum >= the suffix sum in E, and then continue doing this to get the answer? (while adjusting the difference)

  • »
    »
    14 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    if the sum of all elements is odd then return -1 else find the first ind such that arr[0]+..+arr[ind]>=sum/2 if it is exactly sum/2 then print 1 and return the complete array else check if arr[0]+..+arr[ind-1]>=arr[ind]-sum/2 if no then return -1 else print 2 and for the first operation print a sum of arr[ind]-sum/2 from 0 to ind-1(using any combination) and arr[ind]-sum/2 at the ind position and 0 for ind+1 to n-1, now for the second operation print the remaining array.

»
14 месяцев назад, скрыть # |
Rev. 2  
Проголосовать: нравится +21 Проголосовать: не нравится

B>>C, E<D. Anyway it's a good contest!

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится -7 Проголосовать: не нравится

I am starting to think the authors like arrays. Literally all problems were like "you have an array and an operation on this array, what happens?"

»
14 месяцев назад, скрыть # |
Rev. 2  
Проголосовать: нравится +28 Проголосовать: не нравится

D E F G are very cool, but D is my favorite <3

  • »
    »
    14 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    Any way of solving D elegantly without frequency checks through a Segment Tree?? The greedy technique (in case v[k — 1] == v[k — 2] in the sorted version of the array led to a very tedious implementation for me) -- copied from my own comment

    • »
      »
      »
      14 месяцев назад, скрыть # ^ |
       
      Проголосовать: нравится +3 Проголосовать: не нравится

      You can show that you can always reduce a palindrome to only contain the values among the k-1 smallest values if one exists.

      • »
        »
        »
        »
        14 месяцев назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится

        i realized my mistake. i devolved into too much casework. i had the <kth element palindrome check in mind since the beginning, just mistakenly overlooked that it has to be a palindrome in either case of odd or even, the kth element just fills it's place accordingly. Thanks!

    • »
      »
      »
      14 месяцев назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      how did you use segtree to solve it ?

      • »
        »
        »
        »
        14 месяцев назад, скрыть # ^ |
         
        Проголосовать: нравится +3 Проголосовать: не нравится

        i cached frequencies. observed that v[i] <= n, so no coordinate compression needed. now i run two pointer for l and r, starting from both corners. if they are equal, move on ofc. Then I check if we encounter both l and r such that the frequency prefix sum < k. then it's a direct NO. else, if prefix sum for l >= k, it means there exist k elements smaller than it, and it can be removed. i move l, else i move r. if the process results in l >= r without a NO, its a YES

  • »
    »
    14 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    Yeah, I solved it with black, gray, white analogy. Black being the elements we don't care, white being the ones that are fixed, and grays were the only ones to check/adjust.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

How to solve C? I'm too dumb.

  • »
    »
    14 месяцев назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится 0 Проголосовать: не нравится

    I didn't prove it but any time ... a[i+1] is not divisible by a[i] .. this means a[i] has been modifid... we can find some portion of answer from a[i] ... and I did this repeatedly over the array .. and it actually passed the time limit in pretest ..

  • »
    »
    14 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    If we have a[i] not dividing a[i+1], then a[i] / gcd(a[i], a[i+1]) has to be divided out of a[i]. So our final answer will need to be divisible by a[i]/gcd(a[i], a[i+1]). Since it is guaranteed that an answer exists, we can take the lcm of all of these values.

    • »
      »
      »
      14 месяцев назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      Proof? How are we sure those elements where $$$ a_i \gt a_{i + 1} $$$ are divisible by the lcm?

      • »
        »
        »
        »
        14 месяцев назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится

        Just by the fact that we're guaranteed that a solution exists. Since a factor of x is required at some position, then for any position at which we need to divide by x, (ie whenever a[i] doesn't divide a[i+1]), then a[i] / x will have to be an integer. So x | a[i].

        I hope that was clear, but it didn't really feel like it, sorry. I can try to type it up better if its not. Also note that needing to divide at a position is not the same as when a[i] > a[i+1], think of [6, 10] for example.

    • »
      »
      »
      14 месяцев назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      In this testcase:

      7
      42 42 14 84 28 73080 255780
      

      $$$x$$$ is divisible by 42/gcd(42, 14) = 3, 84/gcd(84, 28) = 3, 73080/gcd(73080, 255780) = 2, which is $$$6, 12, 18, ...$$$ but $$$x = 12$$$ is a wrong value of $$$x$$$?

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

the problems were actually really good, but I just couldn't perform well as I had expected to

»
14 месяцев назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

How would you solve $$$F$$$? I had a $$$\text{dp[len][end_val]}$$$ defined, and I'm wondering if this is a correct approach.

  • »
    »
    14 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    for F1, I suppose you need to specifically judge the edge case of "whether the previous permutation starts with 1" due to repetitive countings that might occur for stuff like 12312.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

How to do E? I am not able to figure out the most effective way, but I figured out that if the array has even sum and follows polygon property then it can be reduced to smaller such arrays.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Wow i love implementing F 1 so much

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

VERYY balanced contest after such a long time.. loved it!

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

Why did you change the second sample in F2 (compared to F1), instead of adding a new one?

Nice trolling

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

oof I got got trolled hard by E. Figured it out last minute.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

I felt I could do E but lol .. spend 20 min for some approach .. find a case where it fails .. repeat

  • »
    »
    14 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    what was the case that you found?

    • »
      »
      »
      14 месяцев назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      no my approach was wrong.. I started by thinking that I can always do it in 2 steps and I came up with some approach which can solve some case in 2 steps .. but then later realized it was wrong.

      although not correct my initial approach was if I can find something like S p S segments.. ie prefix and suffix have same sum and p is small even number .. then I can solve this in 2 steps by dividing p into two equal groups in 2 operations.. I was trying to build on this approach but kept failing.

»
14 месяцев назад, скрыть # |
Rev. 2  
Проголосовать: нравится +3 Проголосовать: не нравится

Though I couldnt submit on time, is my approach for solving D correct?

Idea:
Let e = k-th smallest element in array (after sorting with original indices).
We want to check if its possible to form a palindrome of length ≥ k-1 
using elements ≤ e (including multiple e(s) if needed).

1. Build array z = all elements ≤ e.
2. Check if elements strictly < e form a palindrome (call this y).
   If not, answer is NO.
3. Try to build longest possible palindrome using z (≤ e values), 
   allowing e as flexible wildcard to balance mismatches.
4. If length of such a palindrome ≥ k-1 → YES, else NO.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

F2 n=5000 why?

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится

Why the constraint in E is set to 17?Does the author think he is humorous?

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

There isn't any difference between $$$s\le2$$$, $$$s\le17$$$ and $$$s\le10^9+7$$$ in E...

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

oh wow... system test is not even done and editorial is out, thanks authors..

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

Great round. Managed to find the error in my F1 in the last one minute but didn't have time to fix it. Skill issue :(

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +18 Проголосовать: не нравится

Lots of proof by AC on this one

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Can anyone help me with why my code for D fails.This is my submission https://codeforces.me/contest/2124/submission/327823582

I shall explain my logic- If k<=2 then we can reduce array to <=1 elements which will be a palindrome Now for k>3 We take 2 cases,with k-1 elements and k elements.This is to ensure I solve for both even,odd parity. moving forward approach is same for k,k-1.Wherever k is written replace k-1 for k-1 case Now in each case,we mark val=a[k] I sort elements by value,put first k elements into vector.I don't put elements which are equal to val.All values in array which are equal to val,I put then into a set. Now basically what I have done is,I am checking if I have an initial palindrome,then rest elements I insert to reach total count and those elements have value=val.I put them symmetrically in exisiting palindrome. So i sort exisiting vector my position,then see if it is palindrome If yes then I proceed ahead and try to place elements==val symmetrically to reach total count.If I can place then output true,else false.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +14 Проголосовать: не нравится

Such a well balanced round. I felt F to be easy until i coded and realized that I solved " How many different ways exist to build a valid array of size n", instead of number of distinct arrays and i was never able to arrive at the soln for the distinct arrays ones.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +51 Проголосовать: не нравится

"You are given an array..."

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

cant believe I fell sleep mid competition

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

As a participant, this has been by far the best Div. 1+2 I’ve given — definitely the most balanced compared to recent contests!

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +37 Проголосовать: не нравится

I do not have any complaints about quality of individual problems, I think they were interesting (especially H, which I didn't solve, but found it very nice), but 9 out of 9 problems being about 1-dimensional arrays was too much...

  • »
    »
    14 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится -8 Проголосовать: не нравится

    I agree. Maybe I chose exactly the set of problems that were similar, but I only solved ad-hoc and DP problems about operations/subsequences on arrays the entire $$$3$$$ hours. Although the problems were nice,

  • »
    »
    14 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится +19 Проголосовать: не нравится

    Thanks for the feedback. I can totally see where you were coming from, and in problemsetting process we definitely were trying to avoid too many problems of the same topic (at one point, we had too many constructive problems in early positions). However, here I thought it’s okay since the problems all have different solution approaches. Also, I was a tree problem and G was a “solve q queries problem” in disguise.

    Point taken, though!

    • »
      »
      »
      14 месяцев назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      I agree with you. Though I can personally understand why this may bother other people I literally don't care as long as the solutions to the problems feel different. After testing and then upsolving all 9 problems I didn't even realize all of the problems were about arrays and operations.

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

How does problem C's validator work?

»
14 месяцев назад, скрыть # |
 
Проголосовать: нравится -8 Проголосовать: не нравится

Oh my! a contest announcement! I can't wait to start! it must be coming so soo............. 10 DAYS???????? Y'all ought to be kidding me right? is this for real?

»
14 месяцев назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

Problem E isn't very good,it cheat participants the extent of s and the solution is very boring.

  • »
    »
    14 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    Solution being boring is an understandable complaint. How fun one finds the solution is subjective.

    However, I don't think saying that 17 being on the statement is a valid complaint. 17 is there so that participants know that the number of moves is limited (so they do not have to output too many numbers). It is the participant's fault if they interpret the number as a hint to the solution being done in LOG steps.

    • »
      »
      »
      14 месяцев назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      You are correct, but I think it would be better if you explicitly state that for all inputs contestants need to handle in this problem, the output does not exceed a certain scale. It’s entirely unnecessary to claim that we can prove s is bounded by some value; you only need to specify that s × n is guaranteed to be below a certain limit for all test cases. This avoids potential confusion. And this kind of confusion is meaningless. Thank for your reply.

    • »
      »
      »
      14 месяцев назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      Since the size of s is a crucial point in this problem, I believe it's better to minimize direct descriptions of it.