Блог пользователя KAN

Автор KAN, 7 лет назад, По-русски

Всем привет!

Codeforces Round 464 (Div. 2) состоится в субботу, 17 февраля 2018 в 13:05 МСК для участников из второго дивизиона.

Раунд основан на XIV Нижегородской олимпиаде школьников по информатике им. В. Д. Лелюха, которая пройдет в субботу в Нижнем Новгороде. Однако, комплект задач в раунде не полностью совпадает с комплектом задач на олимпиаде.

Над задачами работали KAP, ashmelev, ZhNV, kuzmichev_dima, demon1999, SYury, mmatrosov и я. За прорешивание спасибо mike_live и vepifanov, а за организацию раунда на Codeforces — vintage_Vlad_Makeev и MikeMirzayanov!

Как всегда, участники из первого дивизиона могут принять участие вне конкурса.

Удачи!

UPD: Вам будут предложены 6 задач со следующими баллами: 500-1000-1500-2000-2500-2750.

Просмотр решений и тестов будет доступен после окончания олимпиады в Нижнем Новгороде около 16:30 по московскому времени.

Поздравляем победителей!

Div. 2:

  1. LitiIsPretty
  2. Rewinding
  3. Panole2333
  4. S.H.I.E.L.D
  5. OYZYWIN

Div. 1:

  1. dotorya
  2. eddy1021
  3. gop2024
  4. uwi
  5. georgerapeanu

Разбор тут.

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

»
7 лет назад, # |
Rev. 2   Проголосовать: нравится +35 Проголосовать: не нравится

It's Codeforces Round #464 Div.2 not #265 Div 1. Correct me if I was wrong.

»
7 лет назад, # |
  Проголосовать: нравится +10 Проголосовать: не нравится

Hope that the problem statements are as short as the announcement.

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

high rating for every one :D

»
7 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Mmm... The problems owners are grandmasters. Seems contest will be hot enough )))

»
7 лет назад, # |
  Проголосовать: нравится +24 Проголосовать: не нравится

4 days 4 amazing rated contests!!

i'm feeling lucky!! 4 days doing favorite thing! XD

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

How many problems in Round #464 ?

»
7 лет назад, # |
Rev. 3   Проголосовать: нравится +9 Проголосовать: не нравится

if someone will become div. 1 in this round .. Is (Educational Codeforces Round 38) will become unrated for him ?

UPD: Sorry i didn't see that Hack is opened 12 hours only in this round xD

»
7 лет назад, # |
Rev. 2   Проголосовать: нравится -25 Проголосовать: не нравится

It is rated for Div.2.4 days 4 amazing rated contests!!

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Will the scoring distribution be announced soon?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Look at the first line of the announcement — It should be "Hi, Codeforces". I'm afraid that the author should be a litle more careful.

»
7 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Will it become hackforces?I prefer no

»
7 лет назад, # |
  Проголосовать: нравится -28 Проголосовать: не нравится

Can you please extend time for half an hour.

»
7 лет назад, # |
  Проголосовать: нравится +41 Проголосовать: не нравится

Perfect time for Chinese users!

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится -9 Проголосовать: не нравится

    But it could be better! ---- I'm having dinner during this time.

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится

    It is very good to have a contest when I am working, not sleeping!

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Back to back contests. Passed a great weekend.

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

What a pitty! I hava to have dinner when the contest starting.

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

4 days 4 contests for div.2 ....Perfect ending of valentine's week.... xD

»
7 лет назад, # |
  Проголосовать: нравится +19 Проголосовать: не нравится

4 days 4 rated contests for div.2... perfect ending of valentine's week...xD

»
7 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

When will be the rating updated for "Codeforces Educational round#38"???

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Probably it is the first time for Div-2 users when their ratings will be updated twice a day.

»
7 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится

to newbieeeeeee

»
7 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится

Could you please update the information about the number of problems and their scoring distribution?

»
7 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

Seldom to see so friendly a round time for East Asia and Southeast Asia participants!

»
7 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится

How many problems are there in this round?

»
7 лет назад, # |
  Проголосовать: нравится +78 Проголосовать: не нравится

For technical reasons, system testing of Educational Codeforces Round 38 (Rated for Div. 2) is delayed until the end of this round. After the round, the following sequence of events will happen: system testing of Round #464, system testing of Educational Round #38, rating updates for the Educational Round, rating updates for Round #464, in that order. Ratings for Round #464 will be updated for participants who were in div. 2 prior to the Educational Round.

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Системное тестирование начнется тоже после окончания олимпиады в Нижнем Новгороде?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

For problem A, can A,B,C be the same, or do they have to be distinct?

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

    Please ask questions with "ask a question' button on the page with problems list.

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

For problem A, do A,B,C need to be distince planes?

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

When local time in the 1-st timezone is 1 hour, local time in the i-th timezone is i hours.

How 3 hours (in first timezone) is equal to 1 hour (in the second timezone) and 2 hours (in the third timezone)?

»
7 лет назад, # |
  Проголосовать: нравится +53 Проголосовать: не нравится

Did someone notice? They added the feature to copy the sample test cases of a problem. Thank you Codefroces, keep going!

»
7 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

How to solve E?

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

    Ternary Search!

  • »
    »
    7 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

    My solution is this:

    It's easy to prove that we will always pick the max element in the sequence, and then we can ternary search for which prefix should we use.

    Hope I won't FST. (UPD: AC in system test)

    • »
      »
      »
      7 лет назад, # ^ |
        Проголосовать: нравится +20 Проголосовать: не нравится

      It can be done faster: notice that if we pick new max element, amount of elements in answer can't decrease, so we can use 2-pointer algorithm

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

      Why ternary? I'm fine with binary search:)

      • »
        »
        »
        »
        7 лет назад, # ^ |
        Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

        My implementation is doing binary search on the slope.

        However, I am used to call it ternary search because I'm ternary search on the value.

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

      How can we update prefix' sum fast?

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

        Things are given in non decreasing way, so we can simply maintain prefix' sum like this:

        int x; cin >> x;
        pre_sum[n] = pre_sum[n-1]+x;
        n += 1;
        
        • »
          »
          »
          »
          »
          7 лет назад, # ^ |
            Проголосовать: нравится +1 Проголосовать: не нравится

          Is n the size of multiset?

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

          Omg, dude. I've just looked through the statement and noticed that:

          1 — Add a positive integer to S, the newly added integer is not less than ANY number in it.

          During a contest I thought that the newly added integer is not less than minimum number in it.......

          Now I understood how easy the problem is :(((

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

      I don't see why it's true that we always pick the max element. Also why is there only a single peak for the prefixes?

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

        I figured out why there must be one peak. But still don't see how it's always optimal to pick the overall max.

        • »
          »
          »
          »
          »
          7 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

          Let’s assume that we have an optimal choice, where max element is m1 and sum of other elements is S.

          So we can conclude that (M is the max element in the original set)

          nm1 - S + m1 ≥ nM - S + M

          m1(n + 1) ≥ M(n + 1)

          m1 ≥ M

          We know that nothing could greater than M, so m1 must be M

          • »
            »
            »
            »
            »
            »
            7 лет назад, # ^ |
            Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

            I still don't see it. For m1 it's possible that the optimal choices for S and n are different from the optimal choices for M. (so we can't assume that the S and n on the left side are the same as the S and n on the right)

            • »
              »
              »
              »
              »
              »
              »
              7 лет назад, # ^ |
              Rev. 3   Проголосовать: нравится +5 Проголосовать: не нравится

              m1, S and n is optimal, so any subset won’t greater than it.Then, I simply replace m1 with M trying to get another subset, but we can prove that it’s the same subset containing m1

  • »
    »
    7 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится +6 Проголосовать: не нравится

    You needn't use binary search or ternary search. You can first choose the biggest number, and then choose some small numbers to make the average value as small as possible. If you use C++, you can use priority_queue. (upd. AC in system test)

»
7 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

How to solve F?

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

    Wondering too.

    • »
      »
      »
      7 лет назад, # ^ |
      Rev. 4   Проголосовать: нравится +21 Проголосовать: не нравится

      Just a DP with segment tree is ok. dpi, j stands for the minimum times of flipping, if the face now is cooked j seconds at the end of interval i (i.e. ri).

      It's obvious that we don't need to flip more than two times in an interval. So just consider how long every face get fried, this yields a Θ (n2·k) dp.

      Notice that the points that a state affects is always an interval, so we can use a segment tree with interval-minimum modify and single-point query(or single-point modify and interval-minimum query).

      This yields a solution, which suits the time limit. (Actually it runs very fast, because there are lots of useless states in the dp, ignoring these can make this solution run in about 200ms)

      Hope this will help.

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

        Sorry, what's minimum times meant for? It's time for what?

        我怕我英文說得不好,這裡用中文寫一下我的問題:可不可以跟我解釋一下反轉魚的最小時間(也就是DP的意義)是什麼,我的理解他是j,可是這就很奇怪了

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

          Sorry, the time means the number of operations. (I don't know a better explanation) It doesn't mean the time when you flip it.

          我怕我英文說的不好,這裡用中文回答一下你的問題:DP的意義是翻轉魚的最小次數,不是時間。英語中time做不可數名詞的時候是時間,可數的時候是次數(可能還有其他用法)。j是當前被烤的那一面,被烤的時間。dp就是說,考慮了前i個區間,被烤的那一面烤了j秒,所需要的最小翻轉次數。

          • »
            »
            »
            »
            »
            »
            7 лет назад, # ^ |
            Rev. 3   Проголосовать: нравится +9 Проголосовать: не нравится

            Oh!!!! Great Thanks.

            My English is so poor, I didn't notice the 's' after "time".

            Thanks for your wonderful explanation.

    • »
      »
      »
      7 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится +6 Проголосовать: не нравится

      An alternative solution:

      Still, use dynamic programming, and dp[i][j] stands for stands for the minimum times of flipping, if the face now is cooked j seconds at the end of interval i.

      It's easy to get dp[i][j] = min(dp[i — 1][j — r[i] + r[i — 1]], min(all elements within dp[i — 1][(j — r[i] + r[i — 1]) ... (j — l[i] + r[i — 1])]) + 2, min(all elements within dp[i — 1][(r[i — 1] — j)...(r[i — 1] + r[i] — l[i] — j)]) + 1).

      Notice that: 1. dp[i — 1][(j — r[i] + r[i — 1]) ... (j — l[i] + r[i — 1])] is an interval. 2. As long as j0 < j1, (j0 — r[i] + r[i — 1]) <= (j1 — r[i] + r[i — 1]) and (j0 — l[i] + r[i — 1]) <= (j1 — l[i] + r[i — 1]) (Either of the terminals of the interval 0 is on the left of the corresponding terminal of the interval 1).

      So it's not hard to see that two pointers + deque trick can be used to optimalize this algorithm.

      More detailed: 35414333

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится +11 Проголосовать: не нравится

    Try to use the fact that in each l[i] to r[i],whatever possible can be achieved with atmost two flips. So use seg tree(or sparse table or multiset) to update dp values of each level based on previous level,
    Now we need to find what all states contribute to i using len length segment we can get from i+len%2,i-len%2,i+2+len%2,i-2-len%2, and so on till within limits. So segment tree on odd and even positions should be maintained.
    My solution took 2500ms but some solutions took 61ms. So I believe some other nice way exist.Can someone explain???

»
7 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Hope that I handle the output criteria of C more careful. Half an hour wasted with 4 wrong submissions because of the mistake.

Anyway, the problems and pretests are good. Thanks :D

P/s: Is problem E solvable with a greedy approach and two (but technically one)-pointer(s)?

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

    I have written such solution in E and it have passed pretests

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

      Same with mine. However I feel quite uncertain — like Is it that easy, or there is a trap, or it was just me thinking that the problem is easy?.

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

        I am quite confident that it is a solution, even if mine will fail sys.tests, cause I am bad at coding without bugs :D

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

    Yeah I wrote such a solution and it passed system tests. There is a proof sort of for it.

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

      Can you elaborate the proof? ;)

      • »
        »
        »
        »
        7 лет назад, # ^ |
          Проголосовать: нравится +4 Проголосовать: не нравится

        Yeah. Initially when you consider adding all occurrences of a number and you find the difference between the current and the previous one, and if it is positive then you can take that number into account.

        Consider n/sum — (n+occ*ai)/(sum+occ)

        If difference is -ve you can stop.It is beacuse:

        a/b<(a+occ*x)/(b+occ) for all x>1

        Hence the greedy approach works.

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

          It's clear enough ;) also by reading this I know that my thought during contest time was equivalent ;)

          Thanks! :D

»
7 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

[email protected] — "вам будут предложены 5 задач" KAN — "Вам будут предложены 6 задач" :D

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Was F just dp but instead of having an O(n) transition you change it to O(1) by choosing whether or not to flip at some time (if valid) and return the number of seconds one side is cooked for (and then keep the minimum number of moves in a different dp table)?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

no chances of problem hack for a and b .....pretty straightforward...

»
7 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

What's pretest 5 in problem C, if someone was stuck there?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

no chances for problem hack a and b...."pretty straightforward"

»
7 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Any idea what was the pretest 5 in C??

»
7 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

I solved E literally 2 seconds after the contest got over :(

I hope it doesn't get accepted when I submit later.

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

    I solved that 5 minutes after the contest lol

    Don't feel upset if it gets accepted, though. Whether or not we are able to solve a problem is more important than "the ratings we could've gotten," in my opinion.

»
7 лет назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится

When I realize that only one digit '1' needed to be changed to '0' in the code to get AC...

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

problem E would have been a much better problem had the numbers been not in increasing order.

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

    How to solve it? Use some Data Structure to maintain it?

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

    There are data structures which allow you to emulate an array with the possibility of insertion in the middle (complexity changes to O(logn) instead of O(1)). Treaps are an example of such a structure. So the problem wouldn't have changed much. Just had to use a data structure instead of an ordinary array.

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится

    whoa, I totally didn't notice that numbers were given in increasing order. I overkilled my solution :')

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Does failing a pretest during the contest affect your rating? I've looked through contest rules etc couldn't see that part discussed.

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

    I don't get exactly what you meant, but this is what I think.

    If you haven't submitted any solutions, and then you submitted a "WA/TLE/etc. at pretest X", your rating would start to be affected, since from this point you're set as really participated in the contest.

    If not, then it's similar to any failed submissions — just a minus 50 points of penalty.

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

      Apologies, I see what you mean the question wasn't clear enough.

      That makes sense. Is there a difference in the penalty between a "WA/TLE/etc. at pretest X" and failing on system testing? Or are they both just considered a failed submission -50 points?

      Thanks for the reply.

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

        Well, technically, they both mean -50. But that penalty is considered only when you managed to have a correct solution after.

        And in this case, system test failures are assured to not gaining or decreasing your points at all (since you have no chance to re-submit oficially and get points).

        • »
          »
          »
          »
          »
          7 лет назад, # ^ |
            Проголосовать: нравится +6 Проголосовать: не нравится

          Oh I see! I think this is what I was missing. I thought the penalty was -50 from your overall points for the contest, but it is a penalty on the total points that you can gain from submitting the correct solution for that particular question.

          Thanks Akikaze

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

WA in D(pretest 6). can anyone check whats the problem?? link to my solution of Problem D

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

    Using this test case

    3
    aaa
    bcc
    

    your code gives an incorrect answer. I'm not sure what's wrong though.

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

    return dfs(graph[i][j], fd); This line of code gives you the error. You are not considering all the adjacent nodes and just returning the value from the first adj node you visit. Eg. the graph consisits of: (a, b) (a, c) if you search for a c again it would return false as first 'b' is visited in adjacency list of 'a' and thus it returns false

»
7 лет назад, # |
  Проголосовать: нравится +23 Проголосовать: не нравится

Light-speed System test. Amazing!!!!

»
7 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

what could have been the pretest 4 for problem C?

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

    I failed on that one too (several times). From my observations, it's the first test with s>1

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Before the announcement on B, I submitted B and locked it.

For any case where we can not take any box, I printed -1 0 because I have no idea what to print in such case as the question is unclear.

But my solution failed in System Test.

This should be got AC because, at first the statement was not clear.

»
7 лет назад, # |
  Проголосовать: нравится +22 Проголосовать: не нравится

Before the announcement on B, I submitted B and locked it.

For any case where we can not take any box, I printed -1 0 because I have no idea what to print in such case as the question is unclear.

But my solution failed in System Test.

This should be got AC because, at first the statement was not clear.

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

    Your solution probably failed somewhere else. My code also printed 1 0 in case of using no box and I have got an AC.

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

    I think that was clear even without the announcement. It's technically not different from any other case.

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

      but, what is the meaning of taking zero box of a specific type? nothing logical here before the announcement!

»
7 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

The fastest system testing ever!

»
7 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

For D, was there a better method than finding the edges of the minimum spanning forest of the graph?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

After how much time of the system testing can we submit the solutions in Practice? Cant now

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

How to solve C?

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

    I used a sliding window kind of approach.Passed the pretests but my solution failed on last system test due to silly mistake. It was just because of using < instead of <=.

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

What's wrong with my solution of C?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

something going wrong in test case 20 in the problem B.

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

When will the contest be available for virtual participation?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Can anyone prove this? 35412837

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

What is pretest 13 of problem A?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

As its not possible to view the test cases currently did any one else get a runtime error in test case 19 of B? If yes then do you know why?

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

    I managed to hack a few solutions by forcing RE with the following tests:

    19999999999999 1
    362143000000
    

    and

    3 1
    4
    

    For the first case the typical mistake is that maxValue is initialized to INT_MAX or LONG_MAX instead of LLONG_MAX or the equivalent, which is >=n.

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

is this contest is rated

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

is this contest is rated?

»
7 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

System test is finished and still we can't submit ?!

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится

    We probably need to wait until yesterday's educational round finishes its testing.

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

What would happen if a participant with rating above 1900 participates in div2 contest? Does it effect his/her rating ?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Can someone please post the questions asked in the Nizhny Novgorod Olympiad, that this contest was based on ?

  • »
    »
    7 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится -6 Проголосовать: не нравится

    Problems were same as of Codeforces Round 464 (Div. 2).

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится +12 Проголосовать: не нравится

    The problems are in Russian, so it won't work if I just post them. Let's go through problems of Codeforces Round:

    • A: prepared specially for the round,
    • B, C, D: same as on the olympiad,
    • E: on the olympiad time limit was 1 second.
    • F: on the olympiad the constraint on n was 500 000.
    • there was one more easy problem on the olympiad.
    • »
      »
      »
      7 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Thank you so much for your reply !

      Can you tell what the easy problem was ?

    • »
      »
      »
      7 лет назад, # ^ |
        Проголосовать: нравится +13 Проголосовать: не нравится

      So why in the Codeforces round, the constraint on k of problem F was 100, but in the test data it never exceeded 20? I think if it became 100, a lot of solutions will get TLE(but mine will not :P). Can you explain it a little bit? Is it a bug or a feature? Thx a lot.

      • »
        »
        »
        »
        7 лет назад, # ^ |
        Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

        Why will nklogn solutions get TLE? The time_limit is enough for nklogn when k is 100.

        but.. I still don't know why my O(nk^2 log32 /64) solution can pass the testcase within 62ms.

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

          But the segment tree runs a little bit slow... Those who runs more than 1s will likely get TLE, actually there are a lot of them.

»
7 лет назад, # |
  Проголосовать: нравится +20 Проголосовать: не нравится

"The round is based on XIV Nizhny Novgorod Olympiad in Informatics for high school students named after V. D. Lelyukh, which will take place on Saturday in Nizhny Novgorod."

Wow, there is an Olympiad for high school students that are all named after V. D. Lelyukh? That's amazing!

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

What's wrong with my code of problem A?

»
7 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

It's 13:45 UTC now and we still can't submit solutions.

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

My B is hacked :( ...

can anyone give me some test case...

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Apparently the succesful hacks have not been added to the final system tests. What is the reason for this?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Когда можно будет дорешать?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Enable upsolving please!

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Why is the right answer 4 in fourth C test? 10 7171 2280 6982 9126 9490 2598 569 6744 5754 1855 7 9 If we begin round at 4, only participants from 4, 5 and 7 time zones take part in it, and if we begin round at 10, participants from 1, 8 and 9 time zones take part, so in first case we have 9126+9490+569=19185 participants, and in second case 7171+6744+5754=19669 participants. ???

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

For E Can we pick max and min element get their average and then pick all less elements than Average?

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

    I don't think so. As you add more small elements the overall average decreases. At a certain point adding new elements will start to increase the average, even if it's less than the original average.

  • »
    »
    7 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

    I solved it using this idea but changing the average as I insert the elements... This way is very simple and doesn't need ternary/binary search.

    Take a look: my submission

    We always use the max and a prefix of the elements, and this prefix always increases, so it's very easy.

»
7 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

When will the ratings be updated?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

How to solve C?Anyone please explain .

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

    Let's find the max sum on each segment with the size of (f-s). First segment will be s...f-1, second s-1...f-2.

    Ok. But there is 1 detail: the beginning of the segment can be in the end of our array and the end of it can be in the beginning of our array.

    I hope my code'll help you to deal with it

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

    This problem can be solved in O(n). Initialize an array with value 0 of size n. Consider 1st timeline as the starting point and can be represented as 1 2 3 4 ... n. While, 2nd timezone can be represented as 2 3 4 ... n 1 (wrt to 1st timezone) and so on... Replace the indices with the participants. And then do an array addition from s to f-1 for each timezone in the initial array. The index corresponding to max value is the answer.

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Before rhis round my rating div 2. But after by education round my rating 1954. How calculate my rating this round?

»
7 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Before this round my rating in div 2 But after by education round my rating was 1954. Is calculate my rating this round?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

?

  • »
    »
    7 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится -6 Проголосовать: не нравится

    Кажется за div2 — посчитали всех участников с рейтингом ниже 2000.

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

      Нет. Они просто пересчитали Educational раунд ПОСЛЕ окончания 464 раунда. А при пересчете 464 использовали цифры, которые были у людей во время регистрации на него, то есть таких, которые были до Educational. Таким образом появились люди, которые на этом самом Educational стали фиолетовыми, но на 464 раунде система их считала до сих пор синими.

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

        Тогда получается, что их участие повлияло на рейтинг других, и сейчас нужно либо оставлять как есть, либо пересчитывать всем.. А, ну они специально так сделали, и уже ничего не будут менять.

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

In problem C, why this test case is 4 and not 5

10
7171 2280 6982 9126 9490 2598 569 6744 5754 1855
7 9
  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Because (9126 + 9490) is maximum

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

    Obviously the maximum is 9126+9490. So we want the contest to start at 7 hours in the region with 9126 to cover the two. Now we need to find at what hour it will start in the first timezone.

    Timezone / People / Hour
    1 7171 4 <-
    2 2280 5
    3 6982 6
    4 9126 7
    5 9490 8
    
    • »
      »
      »
      7 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      In 8th hour,answer is being maximum which is 5 in timezone.So,why the answer is 4 ?

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

        If we start when it is 5 in the first zone, we will actually get 9490 + 2598 which is not maximum. Because in the zone with 9126 it will be only 6 hours the time which is too early to participate (<s)

»
7 лет назад, # |
  Проголосовать: нравится +18 Проголосовать: не нравится

Some people who became div-1 in the Educational round was rated in this round. If you go to the rating changes of this round you can see some purple guys got their rating updated which shouldn't happen as this round is for div-2. This should be fixed.

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится +12 Проголосовать: не нравится

    List:

    MysteryGuy2, RCG, Timsel, WORLD_OF_TANKS, winner, andrew, faustaadp, furys, Chefer, levapnilirbuz, smusmu, killer_god, Trote_w, hands_yhy, Sugardorj, Gorix, win11905, kzyKT

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

35423572 can someone debug this solution for problem C?

EDIT : My approach for the problem: I made the array of twice the size so that round or wrapping condition for the end & beginning timezones is considered. I calculated prefix sum for 2*n +1 size array. Then, I searched for maximum diffrence of (a[i+f-s-1] — a[i]). Then calculated corresponding value for the time in the first time zone.

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

    imalgoholic, I had this exact problem. In case there are multiple subarrays with same (max)answer, you have to output the one which leads to minimum start time in timezone 1.

    For everyone failing on Pretest 9 of problem C, Try this: 6 1 3 4 1 3 4 1 3 correct ans : 3 your ans : 6

»
7 лет назад, # |
Rev. 2   Проголосовать: нравится +10 Проголосовать: не нравится

More than 20 Candid Master have there rating change in this Div 2 round.

This should be fixed.

MikeMirzayanov

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

Can someone tell me, what's wrong with my approach in C?

I used range updates to add a[i] to (s + i — 1 , p — 3 + i), and then checked the maximum.

Here's my code.

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

    The only thing you needed was to find the segment with max sum in.

    First segment is [s,f). Second — [s-1,f-1); If segment number two has the max sum, answer is two. If segment 3 has the max sum, answer is three, and so on.

    Look through my solution. At least it looks easier than yours ;)

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

In problem A, why starting the loop from 0 instead of 1 gives a wrong answer !?

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

    If you start from 0 you should read a[i] and then decrease it (a[i]--).

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

      yeah I know, but I don't understand why what's the difference

      • »
        »
        »
        »
        7 лет назад, # ^ |
        Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

        "There are n planes on Earth, numbered from 1 to n, and the plane with number i likes the plane with number fi," Here's the sample:

        3

        3 1 2

        You consider that person number 0 likes person number 3. But if you start from 0 there is no person #3. (a[0],a[1],a[2])

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Can somebody explain what's wrong with my solution of C? 35398638

»
7 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

Will never use cin and cout in my life again! Problem E. :/

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Почему сняли рейтинг за этот раунд, если я после участия в Educational стал Div.1?

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

When the universe just sided with you..

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

    ??What is the difference between Educational Codeforces Round and Codeforces Round?

    I always thought Educational Codeforces Round wouldn't change the rating......

    so after Educational Codeforces Round24 i didn't take part in it any more

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

Suddenly became frozen when I realized my E got WA just because of the precision problem:

35399314

UPD: get accepted after adding "fixed" and "setprecision(10)" : 35434902

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

What's the wrong with problem F? The problem statement shows the maximum k is 100 that I think the algorithm can't solve this problem, but among all the testdata the maximum k is 20.

»
7 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

There are many cheat passed D

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Excuse me , but where is the tutorial of Codeforces Round #464 Div.2 ? Can someone give me a link?

»
7 лет назад, # |
Rev. 2   Проголосовать: нравится -6 Проголосовать: не нравится

»
7 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

What is wrong with my solution (Problem C)?

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

Where is the editorial? I look forward to getting the solution of problem E

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Why does problem 939E - Maximize! have to give numbers in non-decreasing order? This makes it much easier than usual.

»
7 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

Excuse me but editorial?

»
7 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

editorial please?

»
7 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

24 hours passed,but we still don't have the editorial.

»
7 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится

Editorial ?

»
7 лет назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится

may be editorial?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Editorial?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Editorial please?