#2977
Sindbad a descoperit un recipient care conține o poțiune magică și o inscripție care descrie cum se poate deschide poarta unui templu. Urmând instrucțiunile din inscripție, Sindbad a ajuns la un tunel acoperit cu dale pătrate, aliniate astfel încât formează linii și coloane. Tunelul are mai multe linii, iar pe fiecare linie sunt câte N
dale. Dalele din tunel sunt numerotate începând cu 1
, astfel încât, parcurgându-le linie cu linie și fiecare linie de la stânga la dreapta, se obține un șir strict crescător de numere naturale consecutive.
Sindbad se află la intrare, înaintea primei linii. Pentru a deschide poarta templului, el trebuie să ajungă pe dala numerotată cu P
, călcând pe un număr minim de dale. Dacă există mai multe astfel de soluții, o va alege pe cea pentru care consumul total de picături de poțiune magică este minim.
Scrieți un program care citește valorile N
și P
și rezolvă următoarele cerințe:
1. afișează numărul minim de dale pe care trebuie să calce pentru a deschide poarta;
2. afișează numărul natural T
, reprezentând numărul minim de picături de poțiune magică necesare pentru deschiderea porții.
OJI 2019
Problema | poarta1 | Operații I/O |
![]() poarta.in /poarta.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 8 MB
/
Stivă 4 MB
|
Id soluție | #57280778 | Utilizator | |
Fișier | poarta1.cpp | Dimensiune | 1.62 KB |
Data încărcării | 24 Martie 2025, 09:41 | Scor / rezultat | Eroare de compilare |
poarta1.cpp:8:7: error: storage size of 'v' isn't known int v[], a[10], c, c1 = 0, c2 = 0; ^ poarta1.cpp: In function 'void cmp(long long int*, long long int*)': poarta1.cpp:12:13: error: return-statement with a value, in function returning 'void' [-fpermissive] return false; ^ poarta1.cpp:15:12: error: return-statement with a value, in function returning 'void' [-fpermissive] return true; ^ poarta1.cpp:23:17: error: return-statement with a value, in function returning 'void' [-fpermissive] return false; ^ poarta1.cpp:26:17: error: return-statement with a value, in function returning 'void' [-fpermissive] return true; ^ poarta1.cpp: In function 'long long int inpartire(long long int*, long long int)': poarta1.cpp:59:1: warning: no return statement in function returning non-void [-Wreturn-type] } ^ poarta1.cpp: In function 'int32_t main()': poarta1.cpp:74:24: error: 'impartire' was not declared in this scope impartire(v, 2); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema poarta1 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
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ă.