Detalii evaluare #64003244

Rezumat problemă

#4998

Sala de concurs de la ONI 2026 poate fi reprezentată ca o matrice pătratică, în care liniile sunt numerotate de sus în jos de la 0 la 2𝑁, iar coloanele sunt numerotate de la stânga la dreapta de la 0 la 2𝑁. Fiecare element al matricii reprezintă o bancă. Poziția unei bănci va fi identificată prin numărul liniei și numărul coloanei pe care se află.

Pe marginea sălii (linia 0, linia 2𝑁, coloana 0 și coloana 2𝑁) se află profesorii supraveghetori (toate aceste locuri sunt considerate ocupate de la început). Astfel, elevii pot ocupa doar cele (2𝑁 − 1) × (2𝑁 − 1) bănci din interiorul sălii, situate pe linii și coloane cu numere de la 1 la 2𝑁 − 1.

Definim distanța dintre două bănci situate în pozițiile (𝐿1, 𝐶1) și (𝐿2, 𝐶2) ca fiind max(|𝐿1 − 𝐿2|, |𝐶1 − 𝐶2|), unde
cu |𝑥| s-a notat modulul numărului 𝑥 (|𝑥| = 𝑥, dacă 𝑥 ≥ 0, respectiv −𝑥, dacă 𝑥 < 0).

În acest an, așezarea elevilor în bănci se face într-un mod mai special. Elevii intră în sală pe rând pentru a susține proba și se așază în bănci exact în ordinea în care intră. Când un elev intră în sală, analizează fiecare bancă neocupată, pentru a determina cea mai mică dintre distant, ele de la aceasta până la fiecare bancă ocupată (fie de un supraveghetor, fie de alt elev). Apoi se așază într-o bancă neocupată pentru care această distanță este maximă. Dacă există mai multe bănci neocupate care respectă această condit, ie, elevul trebuie să se așeze în prima, adică cea care este situată pe linia cu numărul cel mai mic, iar în caz de egalitate a liniilor, cea situată pe coloana cu numărul cel mai mic.

Pentru ca profesorii supraveghetori să verifice rapid dacă elevii s-au așezat corect, au nevoie de un program care să răspundă la întrebări de forma 𝑁 𝐾, cu semnificația: “În ce bancă se va așeza al 𝐾-lea elev care intră într-o sală de concurs de dimensiune (2𝑁 + 1) × (2𝑁 + 1), respectând regulile de mai sus?”.

Scrieți un program care răspunde la 𝑄 întrebări de forma descrisă în enunț.

Detalii

Problema Bafta Operații I/O bafta.in/bafta.out
Limita timp 0.2 secunde Limita memorie Total: 32 MB / Stivă 8 MB
Id soluție #64003244 Utilizator Peter Tobias (PeterTobias)
Fișier bafta.cpp Dimensiune 2.37 KB
Data încărcării 03 Aprilie 2026, 18:37 Scor/rezultat 100 puncte

Evaluare

Mesaj compilare

bafta.cpp: In function 'int main()':
bafta.cpp:66:38: warning: 'K' may be used uninitialized in this function [-Wmaybe-uninitialized]
         long long K_rem = K - prev * prev;

                                      ^
bafta.cpp:84:27: warning: 'N' may be used uninitialized in this function [-Wmaybe-uninitialized]
         long long d = 1LL << (N - p);

                           ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
1 0 secunde OK. 2 2
2 0 secunde OK. 2 2
3 0 secunde OK. 2 2
4 0 secunde OK. 2 2
5 0 secunde OK. 2 2
6 0 secunde OK. 2 2
7 0 secunde OK. 2 2
8 0 secunde OK. 2 2
9 0 secunde OK. 2 2
10 0 secunde OK. 2 2
11 0 secunde OK. 2 2
12 0 secunde OK. 3 3
13 0 secunde OK. 3 3
14 0 secunde OK. 3 3
15 0 secunde OK. 3 3
16 0 secunde OK. 3 3
17 0 secunde OK. 3 3
18 0 secunde OK. 3 3
19 0 secunde OK. 3 3
20 0 secunde OK. 3 3
21 0 secunde OK. 3 3
22 0 secunde OK. 3 3
23 0 secunde OK. 3 3
24 0 secunde OK. 3 3
25 0 secunde OK. 3 3
26 0 secunde OK. 3 3
27 0 secunde OK. 3 3
28 0 secunde OK. 3 3
29 0 secunde OK. 3 3
30 0 secunde OK. 3 3
31 0.02 secunde OK. 3 3
32 0.036 secunde OK. 3 3
33 0.044 secunde OK. 3 3
34 0.04 secunde OK. 3 3
35 0.032 secunde OK. 3 3
36 0.044 secunde OK. 3 3
37 0.044 secunde OK. 3 3
Punctaj total 100

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema Bafta face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.

Du-te sus!