IX Olympiad in Informatics
Author: Jakub Pawlewicz
We are given a square-shaped field. The field has a side of length
n and it is divided into n2 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.
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.
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.
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.
For the following input file dzi.in:
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: