Polish version    English version  

 About Olympic
 History of OI
 OI books
 National team
 Olympic camps
 Photo gallery
IX Olympiad in Informatics

Task: dzi
Author: Jakub Pawlewicz

II stage contest  

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:

Print friendly version