USACO 2020 December

Square Pasture

Farmer John's largest pasture can be regarded as a large 2D grid of square "cells" (picture a huge chess board). Currently, there are n cows occupying some of these cells.

Farmer John wants to build a fence that will enclose a square region of cells; the square must be oriented so its sides are parallel with the x and y axes, and it could be as small as a single cell. Please help him count the number of distinct subsets of cows that he can enclose in such a region. Note that the empty subset should be counted as one of these.


The first line contains a single integer n (1n200). Each of the next n lines contains two integers, indicating the (x, y) coordinates of a cow's cell. All x coordinates are distinct from each-other, and all y coordinates are distinct from each-other. All x and y values lie in the range 0...109.

Note that although the coordinates of cells with cows are nonnegative, the square fenced area might possibly extend into cells with negative coordinates.


The number of subsets of cows that FJ can fence off. It can be shown that this quantity fits within a signed 32-bit integer.


In this example, there are 24 subsets in total. FJ cannot create a fence enclosing only cows 1 and 3, or only cows 2 and 4, so the answer is 242 = 162 = 14.

Time limit 1 second
Memory limit 128 MiB
Input example #1
0 2
2 3
3 1
1 0
Output example #1
Input example #2
17 4
16 13
0 15
1 19
7 11
3 17
6 16
18 9
15 6
11 7
10 8
2 1
12 0
5 18
14 5
13 2
Output example #2
Source 2020 USACO December, Gold