Caso # | Resultado | Tiempo | Memoria |
---|---|---|---|
#1 |
Correcto
|
0.005 s | 1 KBi |
#2 |
Correcto
|
0.005 s | 1 KBi |
#3 |
Correcto
|
0.006 s | 1 KBi |
#4 |
Correcto
|
0.005 s | 1 KBi |
#5 |
Correcto
|
0.005 s | 1 KBi |
#6 |
Correcto
|
0.005 s | 1 KBi |
#7 |
Correcto
|
0.005 s | 1 KBi |
#8 |
Tiempo límite excedido
|
0.333 s | 1 KBi |
#9 |
Tiempo límite excedido
|
0.42 s | 1 KBi |
#10 |
Tiempo límite excedido
|
0.144 s | 1 KBi |
#11 |
Tiempo límite excedido
|
0.152 s | 1 KBi |
#12 |
Tiempo límite excedido
|
0.266 s | 1 KBi |
#13 |
Tiempo límite excedido
|
0.155 s | 1 KBi |
#14 |
Tiempo límite excedido
|
0.124 s | 17 KBi |
#15 |
Tiempo límite excedido
|
0.15 s | 1 KBi |
#16 |
Tiempo límite excedido
|
0.205 s | 1 KBi |
#17 |
Tiempo límite excedido
|
0.163 s | 1 KBi |
#18 |
Tiempo límite excedido
|
1.067 s | 7 KBi |
#include <iostream> #include <vector> #include <limits> using namespace std; int main() { int rows, cols; cin >> rows >> cols; vector<vector<int>> m(rows, vector<int>(cols)); for (int r = 0; r < rows; r++) { for (int c = 0; c < cols; c++) { cin >> m[r][c]; } } int answer = numeric_limits<int>::min(); for (int r0 = 0; r0 < rows; r0++) { for (int c0 = 0; c0 < cols; c0++) { // La esquina superior izquierda de la submatriz es (r0, c0) for (int r1 = r0; r1 < rows; r1++) { for (int c1 = c0; c1 < cols; c1++) { // La esquina inferior derecha de la submatriz es (r1, c1) // Encontrar la suma de la submatriz delimitada por (r0, c0) y (r1, c1) int sum = 0; for (int r = r0; r <= r1; r++) { for (int c = c0; c <= c1; c++) { sum += m[r][c]; } } answer = max(answer, sum); } } } } cout << answer << endl; return 0; }