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

UPD: Спасибо за участие! Топ-200 официальных участников отбора приглашены в Финал соревнования.

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

Отбор Технокубка:

  1. cookiedoth
  2. MaksymOboznyi
  3. AlFlen
  4. talant
  5. DANDROZAVR

Дивизион 1:

  1. Benq
  2. jqdai0815
  3. tourist
  4. Um_nik
  5. TLE

Дивизион 2:

  1. BBumblebee
  2. twytch19
  3. zhongyuwei
  4. kpink
  5. 1LLUS0RY

Разбор тут (если не загружается, надо немного подождать).


Разбалловка:

отбор: 500-750+750-1500-2000-2750-3250-3750

второй дивизион: 500-750+750-1500-2000-2750-3250

первый дивизион: 500-1000-1750-2250-2750-3250


Добрый день!

В 26.10.2019 14:05 (Московское время) состоится Отборочный Раунд 2 олимпиады для школьников Технокубок 2020. Раунд будет длиться два часа, участникам будут предложены 7 задач. По его результатам лучшие участники (но не более 45% от общего числа участников раунда) будут приглашены на финальный этап в Москву. Для регистрации на раунд и участия перейдите по ссылке. Не забудьте заранее зарегистрироваться на раунд! Для опоздавших будет открыта дополнительная регистрация.

Зарегистрироваться на Отборочный Раунд 2 →
Соревнование открыто для всех в виде отдельных раундов для первого и второго дивизионов.
Для всех участников всех трех редакций этого соревнования будет пересчитан рейтинг.

Параллельно с Отборочным Раундом будут проведены открытые рейтинговые раунды для обоих дивизионов, в них могут принять участие все желающие.

Напомним, что согласно правилам раундов Codeforces во время соревнования ваши решения будут тестироваться только на претестах (предварительном и неполном наборе тестов), а системное тестирование состоится после окончания раунда. Обратите внимание, что претесты не покрывают все возможные случаи входных данных, поэтому тщательно тестируйте свои программы! После прохождения претестов у вас будет возможность заблокировать решение, тем самым получив привилегию искать ошибки и взламывать чужие решения, но отказавшись от возможности перепослать ваше решение при каких-либо обстоятельствах (например, даже если вы найдете ошибку или вас взломают). Со временем задачи падают в стоимости. После системного тестирования учитываются только полные решения. Подробнее про правила соревнований можно прочитать по ссылкам:

Регистрация на олимпиаду Технокубок еще открыта. Победителей и призеров олимпиады ждут значительные квоты при поступлении в престижные технические вузы России и ценные призы! Если вы — школьник 8-11 классов и пока не зарегистрировались на Технокубок, то самое время сделать это:

Зарегистрироваться на олимпиаду →
После регистрации на олимпиаду не забудьте зарегистрироваться на Отборочный Раунд!

В финал соревнования будут приглашены лучшие участники каждого из отборочных раундов (но не более 45% от общего числа участников раунда).

Для тех, кто впервые на Codeforces: в таблице ниже вы можете найти примеры решений на всех поддерживаемых языках:

Группа языков Языки программирования / компиляторы Примеры
C GNU C, GNU C11 10903473, 17029870
C++ GNU C++, GNU C++11, GNU C++14, GNU C++17, MS C++, etc. 23794425, 5456501
C# Mono C#, MS C# 3195513, 3794163
D D 5482410, 2060057
Go Go 7114082, 21366098
Haskell Haskell 455333, 1668418
Java Java 8 25491359, 23678167
JavaScript V8 35963909, 35681818
Kotlin Kotlin 25779271, 25204556
OCaml OCaml 6157159, 1281252
Pascal Delphi, FPC, Pascal.NET 1275798, 1259434
Perl Perl 2519448, 1277556
PHP PHP 413942, 35875300
Python Python 2, Python 3, PyPy2, PyPy3 35883730 (Py2), 36179112 (Py3)
Ruby Ruby 1837970, 1289551
Rust Rust 25180002, 35652442
Scala Scala 35847980, 2456025

Удачи!

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

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

Является ли этот раунд рейтинговым?

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

    Да.

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

    ДА, если DDOS-еры не проснутся

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

      По секрету скажу (информация из первых рук), ДДОС планируется, так что на контест можете не приходить, чтобы время не тратить.

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

I hope, that DDOS team will sleep this day.

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

An English article is preferred ;)

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

How can someone with rating >= 1900 register in div.2? :P Or CF doesn’t care about division anymore? I saw some blue competed as rated in last div.3.

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

What's going on?

cf-problem

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

is it rated???????

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

Prepare yourself for DDOS

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

technocup = unrated...

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

Will need there a 12-hour hacking phase after the cont est or not?

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

Why does it start so early?

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

Today,I wanna ,but NanJing Region .

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

Will there be English statements?

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

I will try to solve 3 problems today....just saying so that comeback later to update it..

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

Пожалуйста, подвиньте раунд на 30 минут т.к пересекается с обедом в СУНЦ МГУ.

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

    Пожалуйста, подвиньте раунд на 30 минут, т.к. пересекается с уроком физики в СУНЦ МГУ, мой преподаватель не увидит меня на уроке и обидится:(

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

      Уроки в субботу, лузеры

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

      Пожалуйста, подвиньте раунд на 30 минут... Препод кстати участник РОИ его нельзя обижать!!

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

The experience of Technocup Elimination Round 1 was not good. Due to DDOS attack it was declared unrated. Hope the authority will try their best to avoid these circumstances today.

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

    Now, it has become one of the cliche comments. Every one of us wants the round to be safe from DDoS attacks.

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

When will the number of problems and score distribution be revealed?

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

Score distribution?

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

How many problems are there in div 2?
Edit: announecd now!

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

>Technocup

INB4 404

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

Что будет если я зарегаюсь на отбор и открытый раунд сразу? изменится ли у меня рейтинг два раза?

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

    Не думаю, что можно зарегаться на оба раунда одновременно.

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

      Немного не по теме, но мое решение во время контеста упало на 19 тесте, однако после контеста так как я не смог найти ошибку в решении отправил решение снова(а вдруг повезет) я скопировал то же самое и оно заработало. Теперь я не что делать. Помогите пожалуйста.

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

        Что-то ты в нем все-таки поменял, копии предыдущих посылок отсылать нельзя.

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

          Нет, ни строчки. скопировал и отправил.

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

Unable to hack?.It's saying can't process your hack. Can anyone help me with it?

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

Very nice questions but website went down..

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

    I agree. I wanted to submit a solution in the very last minute but couldn't because site went down :(

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

I'm so sad I wasted so much time thinking in some dp solution for C while it's way easier than what I thought

edit:next time I'll talk about how easy the problem is after it's judged lol it's wrong

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

    What's the solution for C?

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

      Here is correct solution, but it needs all google servers or at least a quantum computer

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

      Your text to link here...just vary k here

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

        Since p can be negative we cannot simply add up the summands. There could be solutions with (possibly huge number of) negative summands.

        How to consider that?

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

      I think there is a short solution to it, mine got accepted, basically I used this,

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

Что значит "Невозможно обработать взлом"???? Где мои +200 поинтов??

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

Couldn't load question 'c' at last 10 mins during the contest although I could load other problems. Did you have the same problem ??

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

How to solve Div.2 E ?

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

      You need to consider the pushed rocks, too. So dp[][][] is about position and somehow pushed rocks.

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

        I don't think your idea will pass, as n*m*n is really large.

        Spoiler

        (P.S. I have not been able to submit yet, so not sure about my idea either).

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

          Yes, that is the "somehow" part... ;)

          But for sure, one cannot ignore the rocks.

          For a position x,y the number of remaining possibilities is dependend on the number of rocks which where pushed on the last move into that position.

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

      You don't need BIT if you do prefix sums.

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

      can you please elaborate on your solution?

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

        My solution was same as the one explained in tutorial. I don't think I can elaborate more than the tutorial. If you fail to understand something from the tutorial, you can ask that specifically.

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

Thanks for the GIFs in E!

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

test case 2 in div2 D?

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

Yet another hackforces?

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

the time limit in problem E was very strict so that recursive do doesn't work sadly there were no time to change the recursive version to the iterative version

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

got a message that gave me a heart attack "my solution has been hacked or resubmitted" but nothing changed in my submissions

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

Hack for d2 C?

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

Nice problems.

I was having such a good contest till my locked submission for C was hacked..

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

Respect for E — reference to game Baba is you

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

So, what is the "trick" in C, how to solve it?

Case p is positive, I found trivial solutions. But for negative p?

What if there are only such solutions that 2^x is huge?

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

    I thought that answer is always in a small range, I could be wrong though...

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

      Since we can add up infinie number of reps we can add up infinite huge negative and positive numbers. So for negative p there should allways exist a solution.

      How to find that one?

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

    I SOLVED IT OMG I AM SO PROUD

    ok anyways so basically if you write n as sum of k (2^i+p), then

    n = (2^a + p) + (2^b + p) + ... + (2^x + p) right

    n = (sum of k "power of 2s") + kp

    sum of k "power of 2s" = n — k * p

    So what remains is to check whether n — k * p can be written as k "power of 2s" (with duplicates). This is kinda well known lmao. But basically

    def check(x, k):
        if k < x: return False
        if bin(x).count('1'):
            # counting the number of set bits in binary of x
            # This is because the binary expression is the unique way of representing x as sum of power of 2s with minimal number
            return False
        return True
    

    Sorry if you don't code in python but I'm sure you can code the "count set bit"

    Now loop through all k (while n — k * p >= 0) and check that

    Code: https://codeforces.me/contest/1247/submission/63459624

    (still proud plz upvote minecraft is the best)

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

I just couldn't understand how this solution gives a TLE for B2. Anyone can help?

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

So how to solve the problem D.

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

    Firstly,we use backet sort and convert the input to backet[number]={count}.

    And do next for all $$$i(1 \le i \le 10^5):$$$

    • find the minimum $$$p$$$ that satisfies $$$i*p = x^k$$$(we can use prime factorization for this.)
    • count pair $$$(i,p * v^k)(1 \le v \le 500$$$ thanks to $$$k \ge 2$$$ and $$$N \le 10^5)$$$

    We have to use valid pre-calculation for doing this.

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

What's the hack in div1A?

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

how to solve DIV2-D

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

    Let the prime factorization of y be p1^k1 + p2^k2 + ... + pm^km. Then y = x^k if kj % k == 0 for every j<=m. So we only need to take care of modulo of kj with k.

    For each ai, find it's modulo prime factorization (i.e p1^(k1%k) + p2^(k2%k) + ...). Note that we need to remove pj^kj if kj = 0. Then aj * ai = x^k if modulo prime factorization of aj equal p1^(k-k1%k) + p2^(k-k2%k) + ... Let it be ai's reverse modulo prime factorization.

    Store number of each modulo prime factorization by map, iterate from 1 to n, for each ai add number of it's reverse modulo prime factorizations to result, then update it's module prime factorization.

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

    refer my comment, let me know if its correct. https://codeforces.me/blog/entry/70852?#comment-553827

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

    Similar to tantam75, I also use prime factorization.

    Noted that if $$$a_i \times a_j = \sum p_i^{u_i} $$$, then $$$k|u_i$$$. So for each $$$a_i=\sum p_i^{x_i}$$$, We store every $$$(p_i, x_i \ \mathrm{mod}\ k )$$$ in an array . To satisfy the equation, $$$a_j$$$'s factorization must be $$$\sum p_i^{k-x_i \ \mathrm{mod} k } $$$. Therefore we only need to count how many arrays in which every element equals to $$$ (p_i,k-x_i \mathrm{mod}\ k) $$$. map< vector< pair<int,int> >, int> cnt; can do that.

    Complexity: As the size of each array is at most $$$O(\log n)$$$ , the final complexity is $$$O(n \log ^2 n)$$$

    Code: https://codeforces.me/contest/1246/submission/63477502

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

Everyone knows how to solve div_1 B, except me :(

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

That last half an hour period of unresponsive site was a nightmare .....My heart stopped for a second (Not literally... XD).

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

the time limit in problem E was very strict so that recursive do doesn't work sadly there were no time to change the recursive version to the iterative version

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

Hello, HackForces !

Although my solution on problem A was hacked, I gained 650 points just by hacking others!

(Why there are only 40 participant in each room?)

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

Well-balanced contest

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

Actually before the contest I was expecting some Hacking on Codeforces (DDOS)

It turned out that there is indeed some hacking, and though I was hacked, I also hacked 7 solutions!

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

too much internal server error

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

Did anyone else faced this 504 GATEWAY TIMEOUT issue? Was hoping for extended round :(

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

Flag is Win

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

What is the hack for C div2 or A div1 and A div2?

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

Я решил Д(мне сказали что всё правильно было те кто решил),но из-за того что в конце кф лагал я не смогу отправить

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

I think few people will pass problem C bacause there are a great deal of hacks and FSTs!

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

Can someone explain me how to solve Div2 D please?

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

    For each number, do the prime factorization, and do a modulus of the powers with K. So for the given sample case in the problem, your array becomes 1 3 9 1 3 1. Lets iterate from left to right in this array. At say i = 2, (number is 9), what you want is 3 to make it "good". What you have is 9. See from some frequency table if you have what you need, and update answer. Also then, add what you have in this frequnecy table. See submission #63466377 of me, to get the above idea.

    EDIT: also take care of overflows [ https://codeforces.me/contest/1247/submission/63489009]

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

How to solve Div2-D? I think that separating case $$$k=2$$$ will be enough but I can't submit it as the site is not working in the last minute. Is this the solution because for case $$$k = 3$$$ I think that it might TLE?

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

    How do you solve that cases with small k, ie k==2?

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

    I think it will not TLE because, if $$$k = 3$$$, No. of Instruction will be around $$$217000000$$$ (Approx.) that is $$$(2.17 * 10 ^ 8)$$$. That should runs in less than a $$$1$$$ second.

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

      How many instructions can run in one second? I every time think about time complexity in terms of Big-O notation.

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

        Case by case. From my experience,

        • If the instructions are complicate (like multiplication,division...), it will be $$$10^8$$$.
        • If the instructions are quite simple (like addition,subtraction,easy conditional branch...), it can reach $$$10^9$$$.
    • »
      »
      »
      5 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      I solved it like this and it worked

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

    i did the same thing . Pretest Passed

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

Systest when?

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

Can div2-B be solved with window slidding technique? Counting the number of different elements in each subarray of length d?

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

where do I find the Editorials of the problems?

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

I submitted div1 C but it's not showing up...

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

Any one know how to solve Div2 D using single approach for all possible value of k

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

    Couldn't submit, but this is how I approached the problem, for each element, find its prime factorization, say p1^m1*p2^m2...pn^mn be prime factorization of some element arr[i] in the array. Now take modulus of each m's by given 'k', and replace arr[i] by p1^(m1%k)*p2^(m2%k)...pn^(mn%k). Now store the count of these elements in a map.

    Now traveling the array, picking each element, find its counterpart (p1^(k — m1%k)*p2^(k — m2%k)...pn^(k — mn%k)) count in the map, increase the number. Note if counterpart is same as a[i], then decrease the count by 1 (not counting the array element with itself). Then return total count /2.

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

    Let $$$a_i=\prod p_{i,1}^{c_{i,1}}\times p_{i,2}^{c_{i,2}}\times \dots \times p_{i,l_i}^{c_{i,l_i}}$$$.($$$p$$$ are increasing, $$$c$$$ are positive numbers)

    $$$i$$$ and $$$j$$$ satisfy the condition if and only if $$$l_i=l_j$$$ and $$$p_{i,x}=p_{j,x}$$$ and $$$k|(c_{i,x}+c_{j,x})$$$.

    So push all $$$(p_{i,x},c_{i,x}\bmod k)$$$'s into a vector, and use a map to calculate the times it occurs before.

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

    see mine its single approach i am working under modulo k

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

can anyone explain how to solve div2 D??

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

    With each $$$a_i$$$, add result with number of $$$a_j$$$ that $$$j<i$$$ and $$$a_j \times a_i = x^k$$$. You can think of prime factorization, but since different numbers has different factorizations, you need to minimize those factorizations by modding exponents with $$$k$$$ and remove prime factor whose post-exponents equal to 0.

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

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

TLE on B2 for not using erase :(

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

    why ?

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

      I didn't pay attention that the test cases number can be large and I kept initializing a 10^6 array each time instead of using map then clearing it.

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

        Why does this result in TLE?

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

          Because sum of k is not guaranteed to be <= 1e6, so it's $$$O(t * k)$$$

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

        Thanks!! Never try to extract elements thinking you will get in O(1) time using vector or unordered map in such cases ,its safer to use map cause its O(logn) always. I wish i could have joined codeforces before ,such an amazing platform!!

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

This multiple test case thing is so irritating. Fucks me always. My B2 got TLE because I didn't declare one of the array's globally. Why cant you just put all the test cases separately?

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

What is the logic behind saying that it is guaranteed that sum of n <= 2e5 but sum of k IS NOT. WTF?

I thought multitests' goal is to make pretests better and testing faster BUT not to make your fully correct solution fall on such stupid testcases

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

    your code should be O(n) not O(k) unfortunately :( (I think)

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

      My main idea is O(n). The reason it falls is just how you clean your array between multitests. I... I..., I have no words...

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

        Don't you just create a new array each test case? I use python so I just do

        for _ in range(int(input())):
            a,b,c=map(int,input().split())
            arr=list(map(int,input().split()))
            # BLA
        

        is it different in cpp?

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

          You have used map. I used a vector. It costs O(k) time to initialize it.

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

            Wait what? What was your algorithm? Can I take a look at code? I’m interested lol

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

                That’s unfortunate. Why didn’t you use a map though, I thought it’s natural to use when you’re counting with a key?

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

                  I could not imagine that sum of k would be greater than 1e6. I still don't see a logic of doing it.

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

do wrong answer of pretest 1 gets penalty, i never noticed it, i submitted solution of one question to another.

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

Poor Testcases :{

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

You have stolen my dreams and my rating with your empty pretests...

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

Мне кажется, за такие тесты надо давать бан

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

22th testcase of d2 C...

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

Mathforce and fstforce :)

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

Всего 14 тестов на Div2D? Чутка самоуверенно)
На мой взгляд, мое решение проходить не должно (long long overflow).

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

RIP half of all Div2C submissions. Good job Thanos.

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

Uh, so does the DDOS attack affect whether this round rated?

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

What is the expected time complexity of div2 B(hard version) ?

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

What is the expected time complexity of div2 B(hard version) ?

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

why? The same code got a TLE in System test, and got AC after System test.

63463673 TLE

63489980 AC

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

    memset(vis,0,sizeof(int)*(k+5));

    Sum of K is not guarranted to be <= 1e6

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

      Year,I know. But,why i got ac after System test with the same code.

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

      And, i am shocked at my friend got ac who used memset(vis,0,sizeof(vis)) .(sorry for my poor english.

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

        That's all random, my friend. Anyway I don't see logic of saying that sum of N is <= 2e5, but sum of K is not...

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

          It's very logic. You have to read input sum of N times, so sum of N need to small, for example ~ 2e5 so that people can read input in time. Other than that, there is nothing to do with sum of K. K can be 1e9, or even 1e18. You declared an array of size K for each T testcases without thinking about limit of K * T, that is your fault.

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

can anyone explain the testcase 22 of problem c?

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

    101 50

    If you outputted 2 it's not correct.

    $$$2^{a_1} + 2^{a_2} = n - 2*p$$$

    $$$2^{a_1} + 2^{a_2} = 1$$$

    $$$2^0 + 2^0 > 1$$$

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

Lesson learnt from Div 2B (Hard Version): Pay attention to the sum of variables like $$$n$$$ and $$$k$$$ over all $$$t$$$ testcases.

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

For div2C: Reality is often disappointing

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

How to solve d2c . I saw some submissions they used builtin function . Wondering what the function represent?

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

300iq, top 10 codeforces !!!

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

Pretests way too weak :'( Lost a lot of rating points.

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

Bye, Master.. ( ̄ヘ ̄)

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

Well done guys

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

    that refers to indices, not values

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

      if we take two elements, the position of one will be guaranteed to be greater than the position of the second. Two elements do not stand in one position. This line just makes no sense. As well as the case when we can take the same numbers. They are either the same or one is larger than the second. In short, this absurdity cost me one task

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

        I think the statement makes sense. It is specifically clarifying the point to not count cases like $$$a_1 \cdot a_1 = 1 = 1^3$$$.

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

          idk how it sounds in English (i use Rus language as u can see), but in the condition it is said to find PAIRS OF NUMBERS. Pair of one and one? May be my bad but i really confused

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

            Not pair of numbers but pair of indexes. i and j are indexes

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

    $$$i = 1, j = 6, 1 < 6$$$

    $$$a_i * a_j = 1^3$$$

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

      A moment of entertaining terminology: commutativity. We can get i = 6 and j = 1; a[i] * a[j] == a[j] * a[i] == 1; F A N T A S T I C

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

        What's the problem, dude. If you take i = 6 and j = 1, than i is greater than j

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

    i and j are the indices, not the values of elements.

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

    but $$$1<6$$$ is true man you misunderstood it sadly :eyes:

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

my rating wasn't updated, why?

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

got hacked on C due to my carelessness.So sad :(

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

got hacked on C due to my carelessness. so sad:(

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

Unable to go to the contest page. :(

Oops! Probably Codeforces can't be reached right now or your Internet connection is broken

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

Why is my account unrated?

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

When can I start to upsolve? What is going with the contest right now, there is an error... Does anybody know?

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

Problem B2 : O(n) solution shows TLE. I used an array, whereas my friend used a map. He got AC. Why?

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

    Maybe you clear the array so many times and the solution is O(n*d) (I don`t remember the letter, seems to be d)

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

    You are clearing the whole array in every testcase .. But you can make array cnt global and clear only used a[i] for every testcase

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

Why has rating not been updated on my account ?

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

Что мне делать у меня упало решение на B2, и ради интереса отправил тот же код на дорешивание и оно прошло. Решение отправленное на соревновании https://codeforces.me/contest/1225/submission/63468733, Решение отправленное после окончания https://codeforces.me/contest/1225/submission/63494209. Endagorion пожалуйста пересмотрите решение если это возможно.

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

Why is this round rated for someone while not for others? @Endagorion

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

![ ](Screenshot-869.png) Whats happening ?

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

Is rating updating or what?

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

rating is very funny !! unrated solved 4 problems .. and become unrated !!

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

Why my rating is not evaluated after end of the Codeforce round 596-div2?

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

Why I got the time limit exceeded in question B2 in 18th test case. Instead of using vector when I used map then I don't got the error.

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

    Answer is here And hide your code in a spoiler or smth

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

    I made the same mistake. You are declaring a new vector of size k for each test case. Now in the problem k <= 1e6 and no. of test cases t <= 1e4 which makes your solution a O(t*k) time complexity which is 1e10 operations in worst case leading to TLE.

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

    limit of t... 1≤t≤10000 .

    limit of k.... 1≤k≤10^6

    so your code run for 10^4*10^6 = 10^10 times .

    because of vector v2(k+1,0); this .

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

Can someone help me. I have little trouble with div2/B2. My solution got TL at the main tests, but same solution(absolutely same) got AC. Here is my solutions: https://codeforces.me/contest/1225/submission/63468733 https://codeforces.me/contest/1225/submission/63494209

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

Too much mess with this round, lol

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

Rating system got dddrunk!!!

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

I want to upsolve but I only can see the "bugs"

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

Что делать, если мне не пересчитали рейтинг?

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

    Подождать. Мы уже знаем о проблеме и скоро все исправим.

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

Even there contest rating failed after user rank #368 Karma

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

Здравствуйте, я и моя команда состоящая из vahtang и Artuchka писали эту Олимпиаду в качестве тренировки при подготовке к Всероссийской командной олимпиаде школьников по программированию которая будет проходить завтра. Приносим извинения за предоставленные неудобства.:=(

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

Baba is you!

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

Там походу Вова ПГГ в серверной ужинает. Ну ничего, подождем

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

Come on, any update on rating changes?

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

Sir, please clarify that whether the Div. 2 version of this round is rated only for the Top 370 contestants or the round is unrated or something others?

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

Why rating change for only upto 368 shown ?

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

where is rating change?my contest performance is very low :p.unrated is not expected as so.. please... give rating change as soon as possible. :D

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

Endagorion is this round even rated for everyone

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

why hasn’t my rating changed?

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

Div. 1 rating has been changed 2 hours or more ago,still why Div. 2 rating has been paused?

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

Even rating updater is ratist :sadness:

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

I'm wondering whether codeforces authority even noticed that div2 rating update has been stopped at rank 368 where div1 rating changes has been finished 1 or 2 hours ago. At least we deserve to know what's going on. Endagorion MikeMirzayanov

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

    You're right. Now we are trying to figure out what’s the matter and soon it'll be fixed.

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

      Atlast, someone from headquarters,

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

      Thank you for the official reply and reassurance. Now we can rest easy knowing that Headquarters is on the case.

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

Any idea why my contest rating has not been updated yet? The contest is not appearing in my profile

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

    Rating changes for the last round are temporarily rolled back. They will be returned soon.****

    watch at the top at codeforce !!!

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

Missed D by a bit and did silly mistake in A ;P

Hoping the problem related to rating will be fixed soon!

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

Finally rating updated !!!

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

my rating shows 1475.

why still pupil??

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

In div2-B2, why I tle on test 22 in the contest and I just submitted the same code, it was accepted!

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

Jury's answer to 10 7 is -1. But can't 10 7 be made by 10 numbers of the form (2^3 — 7)?

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

Can someone help me to figure out why my submission for problem D is giving WA for test case 12? Submission ID: 63491511

Any kind of help would be greatly appreciated. Thanks!