Joc

Time limit: 1s Memory limit: 64MB Input: joc.in Output: joc.out

Cerință

Micul Gates este din ce în ce mai priceput în ceea ce privește numerele prime, astfel încât domnul profesor de matematică îi propune următorul joc: se consideră un număr construit prin alipirea primelor kk numere prime, în ordinea crescătoare a acestora. Ajută-l tu să câștige jocul, rezolvând următoarele cerințe:

  1. Câte numere impare au fost alipite șirului?
  2. Care este suma numerelor care au fost alipite?
  3. Se numerotează pozițiile cifrelor numărului format din alipirea celor prime, începând de la 11. Pentru pp poziții date de profesor, Micul Gates trebuie să determine numărul prim din care provine cifra aflată pe fiecare dintre aceste poziții.

Date de intrare

Pe prima linie a fișierului de intrare joc.in se găsește numărul cc, care poate fi doar 11, 22 sau 33 și corespunde cerinței care trebuie rezolvată.

Dacă cerința este 11 sau 22, pe a doua linie din fișierul joc.in se află un număr natural nenul kk, reprezentând numărul de numere prime care sunt alipite.

Dacă cerința este 33, pe a doua linie se află două numere naturale nenule, kk – numărul de numere prime care vor fi alipite și pp – numărul de poziții date de profesor, separate prin câte un spațiu. Pe a treia linie se află pp numere naturale reprezentând câte o poziție pozpoz în numărul format prin alipirea celor kk numere prime.

Date de ieșire

Dacă cerința este c=1c=1, pe prima linie din fișierul joc.out se găsește un număr corespunzător răspunsului la cerința 11.
Dacă cerința este c=2c=2, pe prima linie din fișierul joc.out se găsește un număr corespunzător răspunsului la cerința 22.
Dacă cerința este c=3c=3, fișierul joc.out va conține pe prima linie pp numere separate prin câte un spațiu, fiecare număr reprezentând numărul prim din care provine cifra aflată la poziția poz, conform cerinței.

Restricții și precizări

  • 1k<50 0001 \leq k \lt 50 \ 000;
  • 1p100 0001 \leq p \leq 100 \ 000;
  • 11 \leq poz \leq lungimea numărului format;
  • Pentru 1515 puncte, cerința este c=1c=1;
  • Pentru alte 2525 de puncte, cerința este c=2c=2;
  • Pentru alte 6060 de puncte, cerința este c=3c=3. Dintre acestea, pentru 3030 de puncte k1 000k \leq 1 \ 000;
  • Se garantează că există mereu o soluție

Exemplul 1

joc.in

1
3

joc.out

2

Explicație

Cerința este 11, k=3k=3, deci se alipesc primele 33 numere prime (22, 33 și 55). Dintre acestea, două sunt impare.

Exemplul 2

joc.in

2
3

joc.out

10

Explicație

Cerința este 22, k=3k=3, deci se alipesc primele 33 numere prime (22, 33 și 55). Suma lor este: 2+3+5=102+3+5=10

Exemplul 3

joc.in

3
5 3
1 5 6

joc.out

2 11 11

Explicație

Cerința este 33, k=5k=5, p=3p=3.
Primele 55 numere prime sunt: 22, 33, 55, 77, 1111.
Numărul construit este: 235711.

  • Cifra de pe poziția 11 este 22, care provine din 22.
  • Cifra de pe poziția 55 este 11, care provine din 1111.
  • Cifra de pe poziția 66 este 11 și provine din 1111.

Exemplul 4

joc.in

3
6 2 
8 3

joc.out

13 5

Explicație

Cerința este 33, k=6k=6, p=2p=2.
Primele 66 numere prime sunt: 22, 33, 55, 77, 1111 și 1313.
Numărul construit este: 23571113.

  • Cifra de pe poziția 88 este 33, care provine din 1313.
  • Cifra de pe poziția 33 este 55, care provine din 55.

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