UCV2013C  Farmer Cream
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 firm 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 firm is offering 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.
 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.
 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.
 All the fences collide with each other
In the example, there are 3 fences and 7 plots.
Input
The input contains several test cases, each one corresponding to a different 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.
Output
For each test case, you'll print: "The firm is trying to bankrupt Farmer Cream by X Bsf." where X represents the difference 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.
Example
Input: 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
mag1x_:
20180626 07:37:57
even F,B,M are long long :3 

nadstratosfer:
20170928 05:51:23
Having solved CUTCAKE earlier helped here. 

shubham_cs_iet:
20170118 11:32:39
abs() function gives WA. _ else easy pattern. 

cs_abhi2000:
20170117 12:07:50
Simple pattern...


utkarsh538:
20160414 20:14:13
simple geometry + basic calculations. 

Vaporeon:
20150507 23:27:25
Just generate pattern to find the number of farms! ;) 

DEEPAK KUMAR SINGH:
20150116 14:30:12
Wonderful!! Completed 150 with this question.. AC in one go.. 

rajat arora:
20150114 20:54:37
take care of full stop


Martijn Muijsers:
20131030 16:55:53
Completes my one and a half century! :) 

Rohit Retnakaran:
20131029 11:54:15
got 5 WA just because of writing Bsf as Bsd :P 
Added by:  Hector Navarro 
Date:  20130722 
Time limit:  1s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ASM64 
Resource:  Local UCV 2013. Fernando Crema 