#2429
matrice9
Fie A
o matrice dreptunghiulară de numere întregi cu N
linii numerotate de la 1
la N
şi M
coloane numerotate de la 1
la M
. În matricea A
oricare două elemente consecutive de pe aceeaşi linie sunt distincte.
Se defineşte un şir valid de numere întregi ca fiind fie un şir crescător, fie un şir descrescător, fie un şir crescător concatenat cu un şir descrescător, fie un şir descrescător concatenat cu unul crescător. Exemple de şiruri valide sunt: 1 2 3 7
, 8 5 2 1
, 3 5 6 2
, 4 1 5 6
.Se defineşte o submatrice a lui A
de coordonate (l1
, c1
, l2
, c2
) ca fiind matricea formată din toate elementele A(i,j)
, cu l1 ≤ i ≤ l2
şi c1 ≤ j ≤ c2
. O submatrice a lui A
este validă dacă liniile sale sunt şiruri valide.
Atenţie! O submatrice validă poate avea pe o linie un şir crescător de numere, pe a doua un şir descrescător, pe a treia un şir crescător concatenat cu unul descrescător etc. Deci, liniile unei submatrice valide nu trebuie să fie neapărat şiruri de acelaşi tip.
Aria unei submatrice este egală cu numărul de elemente din care este formată submatricea. Se cere să se găsească o submatrice validă a lui A
de arie maximă.
Problema | matrice9 | Operații I/O |
matrice9.in /matrice9.out
|
---|---|---|---|
Limita timp | 0.2 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #52346902 | Utilizator | |
Fișier | matrice9.cpp | Dimensiune | 2.21 KB |
Data încărcării | 27 Septembrie 2024, 07:03 | Scor / rezultat | 100 puncte |
matrice9.cpp: In function 'void read_solve()': matrice9.cpp:87:38: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("matrice9.in", "r", stdin); ^ matrice9.cpp:88:40: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("matrice9.out", "w", stdout); ^ matrice9.cpp:89:25: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d", &N, &M); ^ matrice9.cpp:92:31: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &A[i][j]); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 10 | 10 | ||
1 | 0 secunde | OK. | 10 | 10 | ||
2 | 0 secunde | OK. | 10 | 10 | ||
3 | 0 secunde | OK. | 10 | 10 | ||
4 | 0.032 secunde | OK. | 10 | 10 | ||
5 | 0.036 secunde | OK. | 10 | 10 | ||
6 | 0.036 secunde | OK. | 10 | 10 | ||
7 | 0.068 secunde | OK. | 10 | 10 | ||
8 | 0.084 secunde | OK. | 10 | 10 | ||
9 | 0.104 secunde | OK. | 10 | 10 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema matrice9 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ă.