#2977
poarta1
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 | #49324932 | Utilizator | |
Fișier | poarta1.cpp | Dimensiune | 1.59 KB |
Data încărcării | 26 Februarie 2024, 12:56 | Scor / rezultat | 65 puncte |
poarta1.cpp: In function 'void scadem()': poarta1.cpp:27:15: warning: unused variable 'rest' [-Wunused-variable] int i= n, rest; ^ poarta1.cpp: In function 'int main()': poarta1.cpp:81:17: warning: statement has no effect [-Wunused-value] else potiune; ^ poarta1.cpp:43:42: warning: unused variable 'cifcol' [-Wunused-variable] int cer, potiune= 0, col, i, cnt= 0, cifcol= 0, cop, i1, i2, nr; ^ poarta1.cpp:43:53: warning: variable 'cop' set but not used [-Wunused-but-set-variable] int cer, potiune= 0, col, i, cnt= 0, cifcol= 0, cop, i1, i2, nr; ^ poarta1.cpp:43:58: warning: unused variable 'i1' [-Wunused-variable] int cer, potiune= 0, col, i, cnt= 0, cifcol= 0, cop, i1, i2, nr; ^ poarta1.cpp:43:62: warning: unused variable 'i2' [-Wunused-variable] int cer, potiune= 0, col, i, cnt= 0, cifcol= 0, cop, i1, i2, nr; ^ poarta1.cpp:55:5: warning: 'nr' may be used uninitialized in this function [-Wmaybe-uninitialized] while(nr > col) ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 5 | 5 | ||
2 | 0 secunde | OK. | 5 | 5 | ||
3 | 0 secunde | OK. | 5 | 5 | ||
4 | 0 secunde | OK. | 5 | 5 | ||
5 | 0 secunde | OK. | 5 | 5 | ||
6 | 0 secunde | OK. | 5 | 5 | ||
7 | 0 secunde | OK. | 5 | 5 | ||
8 | 0 secunde | OK. | 5 | 5 | ||
9 | 0 secunde | OK. | 5 | 5 | ||
10 | 0 secunde | OK. | 5 | 5 | ||
11 | 0.004 secunde | OK. | 5 | 5 | ||
12 | 0 secunde | OK. | 5 | 5 | ||
13 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
14 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
15 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
16 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
17 | 0.004 secunde | Raspuns gresit. | 5 | 0 | ||
18 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
19 | 0 secunde | OK. | 5 | 5 | Exemplu | |
20 | 0 secunde | Raspuns gresit. | 5 | 0 | Exemplu | |
Punctaj total | 65 |
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ă.