Rezolvare PBinfo #2448

Decorative Icon Problema: patrate3 / 2448

Decorative IconAutor: Deivid

Un elev a desenat un set format din mai multe pătrate care conțin numere naturale nenule, distincte, consecutive, dispuse în număr egal pe laturi. Pe latura fiecărui pătrat sunt scrise un număr impar de valori. În fiecare pătrat, numerele sunt scrise în ordine crescătoare parcurgând laturile sale, începând din colțul stânga-jos, în sensul invers al acelor de ceasornic. Elevul a numerotat pătratele cu 1, 2, 3 etc., în ordinea strict crescătoare a numărului de valori conținute de fiecare. Diferența dintre cel mai mic număr din pătratul P (1 < P) și cel mai mare număr din pătratul P - 1 este egală cu 1. Primele patru pătrate sunt:

Astfel, primul pătrat conține numerele naturale distincte consecutive de la 1 la 8, dispuse câte trei pe fiecare latură a pătratului. Al doilea pătrat conține următoarele 16 numere naturale distincte consecutive, dispuse câte cinci pe fiecare latură. Al treilea pătrat conține următoarele 24 de numere naturale distincte consecutive, dispuse câte șapte pe fiecare latură. Al patrulea pătrat conține următoarele 32 de numere naturale distincte consecutive, dispuse câte nouă pe fiecare latură etc.

Cerința

Scrieţi un program care rezolvă următoarele două cerinţe:
1. citește un număr natural M și determină numărul K de valori conținute de pătratul numerotat cu M;
2. citește un număr natural N și determină numărul T al pătratului care conține numărul N pe una dintre laturi.

Date de intrare

Fișierul de intrare patrate3.in conține pe prima linie un număr natural C reprezentând cerința din problemă care trebuie rezolvată (1 sau 2). Dacă C = 1, atunci fişierul conține pe a doua linie numărul natural M. Dacă C = 2, atunci fișierul conține pe a doua linie numărul natural N.

Date de ieșire

Dacă C = 1, atunci fişierul de ieşire patrate3.out conţine pe prima linie numărul K, reprezentând răspunsul la cerința 1 a problemei. Dacă C = 2, atunci fişierul de ieşire patrate3.out conţine pe prima linie numărul natural T, reprezentând răspunsul la cerinţa 2.

Restricții și precizări
  • 1 ≤ M ≤ 260 000 000
  • 7 ≤ N ≤ 2 147 302 920
  • Numerele N, M, T și K sunt numere naturale
  • NU există două pătrate cu acelaşi număr de valori scrise pe laturi
  • Pentru rezolvarea corectă a cerinţei 1 se acordă 10 puncte; pentru rezolvarea corectă a cerinței 2 se acordă 80 de puncte.
  • În concurs s-au acordat 10 puncte din oficiu. Aici se acordă 10 puncte pentru exemplele din enunț.
Exemplul 1:

patrate3.in

1
3

patrate3.out

24

Explicație

Cerinţa este 1. Pătratul numerotat cu M = 3 conține K = 24 de numere naturale (vezi figura din enunț).

Exemplul 2:

patrate3.in

2
73

patrate3.out

4

Explicație

Cerinţa este 2. Numărul N = 73 este conținut de pătratul numerotat cu T = 4 (vezi figura din enunț).

Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

LinkedIn Instagram GitHub
© Copyright 2024 - CodulLuiAndrei.ro - Toate drepturile sunt rezervate