Отримання знань
дистанційна підтримка освіти школярів
Маусимум
Входные данные
Выходные данные
Пример входных данных
Пример выходных данных
Анализ условия и обсуждение идеи решения
Пример решения на C++:
#include "iostream"
using namespace std;
int main()
{
int i,j,k;
int MAX,tmpMAX,tot;
int a[100][100],N;
int column_sum[101][100];
cin >> N;
for(i=0; i < N; i++){
column_sum[0][i]=0;
for(j=0; j < N; j++)
cin >> a[i][j];
}
MAX=a[0][0];
for(i=0; i < N; i++)
for(j=0; j < N; j++)
column_sum[i+1][j]=column_sum[i][j]+a[i][j];
for(i=0; i < N; i++){
for(j=i+1; j < N+1; j++){
tmpMAX=column_sum[j][0]-column_sum[i][0];
tot=0;
for(k=0; k < N; k++){
tot+=column_sum[j][k]-column_sum[i][k];
if(tot > tmpMAX)
tmpMAX=tot;
if(tot < 0)
tot=0;
}
if (tmpMAX > MAX)
MAX=tmpMAX;
}
}
cout << MAX << endl;
}
Попередня | Зміст | Наступна |
В системі:
гості - (1); користувачі -
(0)