UCV2013C - Farmer Cream

no tags 

Farmer Cream is a businessman that wants to live in the suburbs. He recently bought a little farm in Creamville and wants to earn money from it. After the sell, Farmer Cream has D money a remaining to spend. He's in negotiations with an important fi rm of farming but he thinks they're not being honest (they're trying to steal some money). He knows the number of fences F in the farm but he doesn't know the number of plots P to farm. The fi rm is off ering a budget B per plot, so he needs to multiply the budget per the number of plots to know the total amount of money to spend. He needs to know if he accepts the contract, for that, he
needs to have at least M money to live after the buy. Otherwise, the firm is trying to bankrupt Farmer Cream and take over the farm.

In order to do this. Farmer Cream needs your help. Assuming the fences are lines y = ax + b he only knows three things about them.


  1. There is no point in the farm where 3 or more fences collides. So, in one point of the farm there'll be zero, one or two fences.
  2. There are no parallel fences in the farm. So if we have two fences represented by y1 = a1x1 + b1 and y2 = a2x2 + b2 we assume that a1 <> a2.
  3. All the fences collide with each other


Example with 3 fences and 7 plots

In the example, there are 3 fences and 7 plots.


The input contains several test cases, each one corresponding to a di fferent situation. Each test case consists of a single line with four integers D F B M (1 <= F,B,M <= 10^6) and (1 <= D <= 10^18) separated by a single space. D represents the remaining money of Farmer Cream, F represents the number of fences, B represents the budget in Bsf per plot and M represents the minimum amount of money that Farmer Cream needs to live.

The end of input is indicated by a test case with D = F = B = M = 0.


For each test case, you'll print: "The firm is trying to bankrupt Farmer Cream by X Bsf." where X represents the diff erence between money to spend plus the money he needs to survive and the money Farmer Cream has. Otherwise, you'll print "Farmer Cream will have Y Bsf to spend." where Y represents the money Farmer Cream will have to spend.


160 1 70 30
500 3 50 100
250000 40 300 5000
0 0 0 0 Output: The firm is trying to bankrupt Farmer Cream by 10 Bsf.
Farmer Cream will have 150 Bsf to spend.
The firm is trying to bankrupt Farmer Cream by 1300 Bsf.

hide comments
tarun_28: 2019-11-23 10:13:50

This one made my century ;)

mag1x_: 2018-06-26 07:37:57

even F,B,M are long long :3

nadstratosfer: 2017-09-28 05:51:23

Having solved CUTCAKE earlier helped here.

shubham_cs_iet: 2017-01-18 11:32:39

abs() function gives WA. -_- else easy pattern.

cs_abhi2000: 2017-01-17 12:07:50

Simple pattern...
AC in one go...

utkarsh538: 2016-04-14 20:14:13

simple geometry + basic calculations.

Vaporeon: 2015-05-07 23:27:25

Just generate pattern to find the number of farms! ;)

DEEPAK KUMAR SINGH: 2015-01-16 14:30:12

Wonderful!! Completed 150 with this question.. AC in one go..

rajat arora: 2015-01-14 20:54:37

take care of full stop

Martijn Muijsers: 2013-10-30 16:55:53

Completes my one and a half century! :)

Added by:Hector Navarro
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64
Resource:Local UCV 2013. Fernando Crema