ACQUIRE - Land Acquisition


**********************************************************************
                           GOLD PROBLEMS
**********************************************************************
                  Three problems numbered 1 through 3
**********************************************************************

Problem 1: Land Acquisition [Paul Christiano, 2007]

Farmer John is considering buying more land for the farm and has
his eye on N (1 <= N <= 50,000) additional rectangular plots, each
with integer dimensions (1 <= width_i <= 1,000,000; 1 <= length_i
<= 1,000,000).

If FJ wants to buy a single piece of land, the cost is $1/square
unit, but savings are available for large purchases. He can buy
any number of plots of land for a price in dollars that is the width
of the widest plot times the length of the longest plot. Of course,
land plots cannot be rotated, i.e., if Farmer John buys a 3x5 plot
and a 5x3 plot in a group, he will pay 5x5=25.

FJ wants to grow his farm as much as possible and desires all the
plots of land. Being both clever and frugal, it dawns on him that
he can purchase the land in successive groups, cleverly minimizing
the total cost by grouping various plots that have advantageous
width or length values.

Given the number of plots for sale and the dimensions of each,
determine the minimum amount for which Farmer John can purchase all

PROBLEM NAME: acquire

INPUT FORMAT:

* Line 1: A single integer: N

* Lines 2..N+1: Line i+1 describes plot i with two space-separated
        integers: width_i and length_i

SAMPLE INPUT:

4
100 1
15 15
20 5
1 100

INPUT DETAILS:

There are four plots for sale with dimensions as shown.

OUTPUT FORMAT:

* Line 1: The minimum amount necessary to buy all the plots.

SAMPLE OUTPUT:

500

OUTPUT DETAILS:

The first group contains a 100x1 plot and costs 100. The next group
contains a 1x100 plot and costs 100. The last group contains both the 20x5
plot and the 15x15 plot and costs 300. The total cost is 500, which is
minimal.

hide comments
narutoumania: 2017-07-30 21:29:22

Finally accepted!!o(n2) solution.useful link https://wcipeg.com/wiki/Convex_hull_trick for solving

srinu_73: 2017-06-21 10:44:47

Removed irrelevant rectangles and O(n^2) DP passed.

orion_pax: 2017-06-08 06:50:38

I tried both dp and convex hull technique, only latter gives AC (dp solution passes all test cases of spoj toolkit), dp solution gives WA.

jedigeki: 2016-09-15 13:12:24

I haven't read convex hull trick and am trying to pass a O(n^2) solution, but am getting WA.
My code gives the correct answer for all test cases on spojtoolkit.com Kindly help me with a few peculiar test cases.

sieunhanbom04: 2016-08-02 11:18:31

will O(n^2) DP be good enough?
RE: Nice! Convex hull trick...

Last edit: 2016-08-02 16:12:31
xinnix: 2016-06-09 17:13:23

Taking long long int and still saying compilation error..
Re: Now WA... Works fine for every test case I check.

Last edit: 2016-06-09 17:22:37
theph0enix: 2016-06-05 11:45:05

test cases are wrong...the correct solution would never be accepted. I say this because the test cases used in the actual USACO Mar08 ACQUIRE can be found here (http://train.usaco.org/TESTDATA/acquire.zip). My program passed all of them but is still WA here.

=(Francky)=> Or the USACO test cases are weak...

Last edit: 2016-06-05 12:51:56
top34051: 2016-02-28 11:07:02

WA? nothing could be wrong in my code. Can someone tell me the critical test cases for this problem please..

Tomek Weso³owski: 2014-10-10 23:55:42

6
100 1
90 2
50 50
40 60
10 100
5 200

OUTPUT: 5200

nitish rao: 2013-06-26 06:23:46

getting WA... :( can anyone provide some corner test cases plzz... :)

RE: no tricky cases in this problem

Last edit: 2013-07-01 16:51:01

Added by:Hasan Jaddouh
Date:2013-05-31
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64
Resource:USACO Mar08