Bozo Hash

Time limit: 1s Memory limit: 64MB Input: Output:

ATENȚIE: Aceasta problemă valorează 150150 de puncte. La "submissions" scorul maxim este rescalat la 100100 de puncte, dar adevaratul scor va fi vizibil pe leaderboard.

Sistemul digital de gestionare a pesticidelor din Chert And se folosește foarte mult de următoarea funcție hash pentru gestionarea traficului datelor:

long long hashFunction(long long x) {
  long long Hash = x;
  Hash += (Hash << 10);
  Hash ^= (Hash >> 6);
  Hash += (Hash << 3);
  Hash ^= (Hash >> 11);
  Hash += (Hash << 15);

  return Hash & ((1ll << 42) - 1);
}

Functia este scrisa in c++ si se folosesc operatiile pe biti xor si shiftari de biti dreapta/stanga.

Găsiți cât mai multe valori yy (cu condiția y2 000 000y \le 2 \ 000 \ 000) care sunt hash-ul a mai mult de două valori xx din intervalul 1...369871071...36987 \cdot 10^7. Formal, găsiți cât mai multe valori yy astfel încât mulțimea {xhashFunction(x)=y,0y2 000 000,1x36987107}\{x | hashFunction(x) = y, 0 \le y \le 2 \ 000 \ 000, 1 \le x \le 36987 \cdot 10^7\} are cardinalul cel puțin 22.

Output

Aceasta problema este output only.

Pe prima linie, submisia voastră trebuie să conțină numărul kk de numere pe care le raportați.

Pe următoarea linie submisia voastră trebuie să conțină kk valori distince, care să respecte condiția din enunț.

Mai jos aveti un exemplu de submisie:

3
1590155 872696 560605

Punctaj

Definim: accuracy=reportedtotal\text{accuracy} = \frac{\text{reported}}{\text{total}}, unde reportedreported este numărul de numere distincte raportate de voi, iar totaltotal este numărul total de yy care respectă condiția.

Atunci, scorul pe care îl veți primi la problemă va fi: accuracy150accuracy \cdot 150. În plus:

  • p0.2\text{p} \ge 0.2, veți primi un batch de coordonate pentru META-TASK.
  • p0.5\text{p} \ge 0.5, veți primi două batch-uri de coordonate pentru META-TASK.
  • p0.95\text{p} \ge 0.95, veți primi trei batch-uri de coordonate pentru META-TASK.

ATENȚIE: Batch-urile se primesc sub formă de link la atașament în verdictul testului de evaluare.
ATENȚIE: Dacă raportați un yy care nu respectă condiția, punctajul vostru va fi nul.

Log in or sign up to be able to send submissions!