IX Olympiad in Informatics

Task: dzi

Author: Jakub Pawlewicz

Parcel
We are given a squareshaped field. The field has a side of length
n and it is divided into n^{2} squares of side
1. Each square is either arable or waste land. We delimit a parcel in
the field. The parcel ought to be a rectangle and to consist of only
arable squares. The area of the parcel is equal to the area of the
corresponding rectangle. We seek for a parcel of the largest area.
Task
Write a program which:
 reads from the text file dzi.in the description of the field,
 computes the area of the largest parcel (there may be more than
one such a parcel),
 writes to the text file dzi.out the computed area.
Input
In the first line of the text file dzi.in there is one
integer n, 1 <= n <= 2000. In the successive
n lines there are descriptions of squares that compose
successive rows of the field. Each of those lines comprises n
numbers 0 or 1, separated by single spaces. The numbers describe
successive squares in the row: 0 denotes an arable square and 1
denotes a waste square.
Output
Your program should write one integer in the first and only line of
the text file dzi.out. The number should be the area of the
largest parcel. If all the squares are waste and there is no parcel,
your program should give the answer 0.
Example
For the following input file dzi.in:
5
0 1 0 1 0
0 0 0 0 0
0 0 0 0 1
1 0 0 0 0
0 1 0 0 0
the correct answer is in the following output file dzi.out:
9