#1623
SumMax1
Avem o matrice triunghiulară cu n
linii, cu elemente numere întregi. În această matrice putem construi un traseu după următoarea regulă:
a
1,1
a
i,j
aparţine traseului, atunci următorul element al traseului poate fi doar a
i+1,j
sau a
i+1,j+1
, pentru orice 1≤j≤i<n
.1
la n
. Valoarea traseului este egală cu suma elementelor ce îl formează.5+4+6+5+4=24
, şi se codifică cu 1,2,3,3,4
.Fie mulţimea tuturor traseelor de valoare maximă generate în ordine lexicografică și numerotate. Pentru exemplul de mai sus avem șase trasee de lungime maximă:
1 1 1 1 2 (5+2+7+6+4=24)
1 1 1 2 2 (5+2+7+6+4=24)
1 2 2 2 2 (5+4+5+6+4=24)
1 2 3 3 4 (5+4+6+5+4=24)
1 2 3 4 4 (5+4+6+5+4=24)
1 2 3 4 5 (5+4+6+5+4=24)
Cunoscând dimensiunea și elementele unei matrice triunghiulare, respectiv două numere naturale st
şi dr
(st≤dr
), se cere să se determine:
2000000000
, se va tipări valoarea 2000000001
;st
, st+1
, … , dr
.OJI 2016, Clasele XI-XII
Problema | SumMax1 | Operații I/O |
summax1.in /summax1.out
|
---|---|---|---|
Limita timp | 2 secunde | Limita memorie |
Total: 16 MB
/
Stivă 16 MB
|
Id soluție | #49357671 | Utilizator | |
Fișier | summax1.cpp | Dimensiune | 2.91 KB |
Data încărcării | 27 Februarie 2024, 15:26 | Scor / rezultat | 85 puncte |
summax1.cpp: In function 'void Drum(int, int, int)': summax1.cpp:47:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if( DP(i, j) == x + y && x != 0 && y != 0 ) ^ summax1.cpp:54:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] else if( DP(i, j) == x && DP(i, j) != y ) ^ summax1.cpp:54:47: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] else if( DP(i, j) == x && DP(i, j) != y ) ^ summax1.cpp:58:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] else if( DP(i, j) != x && DP(i, j) == y ) ^ summax1.cpp:58:47: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] else if( DP(i, j) != x && DP(i, j) == y ) ^ summax1.cpp:62:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] else if( DP(i, j) == x && DP(i, j) == y ) ^ summax1.cpp:62:47: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] else if( DP(i, j) == x && DP(i, j) == y ) ^ summax1.cpp: In function 'void Rezolvare()': summax1.cpp:104:13: warning: unused variable 'mx' [-Wunused-variable] int mx = 0; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 5 | 5 | ||
1 | 0.132 secunde | OK. | 5 | 5 | ||
2 | 0.308 secunde | OK. | 5 | 5 | ||
3 | 0.448 secunde | OK. | 5 | 5 | ||
4 | 0 secunde | OK. | 5 | 5 | ||
5 | 0.004 secunde | OK. | 5 | 5 | ||
6 | 0.008 secunde | OK. | 5 | 5 | ||
7 | 0.004 secunde | OK. | 5 | 5 | ||
8 | 0.108 secunde | OK. | 5 | 5 | ||
9 | 0.172 secunde | OK. | 5 | 5 | ||
10 | 0.256 secunde | OK. | 5 | 5 | ||
11 | 0.172 secunde | Raspuns gresit. | 5 | 0 | ||
12 | 0.176 secunde | OK. | 5 | 5 | ||
13 | 0.312 secunde | OK. | 5 | 5 | ||
14 | 0.208 secunde | Raspuns gresit. | 5 | 0 | ||
15 | 0.252 secunde | OK. | 5 | 5 | ||
16 | 0.464 secunde | OK. | 5 | 5 | ||
17 | 0.4 secunde | Raspuns gresit. | 5 | 0 | ||
18 | 0.672 secunde | OK. | 5 | 5 | ||
19 | 0.748 secunde | OK. | 5 | 5 | ||
Punctaj total | 85 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema SumMax1 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ă.