Why I am i getting a wrong answer??

Pooja would like to withdraw X $US from an ATM. The cash machine will only accept the transaction if X is a multiple of 5, and Pooja’s account balance has enough cash to perform the withdrawal transaction (including bank charges). For each successful withdrawal the bank charges 0.50 $US.
Calculate Pooja’s account balance after an attempted transaction.
Input

Positive integer 0 < X <= 2000 - the amount of cash which Pooja wishes to withdraw.
Nonnegative number 0<= Y <= 2000 with two digits of precision - Pooja’s initial account balance.
Output

Output the account balance after the attempted transaction, given as a number with two digits of precision. If there is not enough money in the account to complete the transaction, output the current bank balance.
Example - Successful Transaction

Input:
30 120.00

Output:
89.50
Example - Incorrect Withdrawal Amount (not multiple of 5)

Input:
42 120.00

Output:
120.00
Example - Insufficient Funds

Input:
300 120.00

Output:
120.00

Program :

#include<iostream.h>
int main()
{
int x;
float y;
cin>>x;
cin>>y;
if(x%5==0&&x<y){
y=(y-x)-0.50;
}
cout<<y;
return 0;
}

your condition is wrong…!!!

this:-

if(x%5==0&&x<y)

should be this:-

if(x%5==0&&x<=(y-.50))

when you say:

if(x%5==0&&x<y)

you mean that the transaction will be successful if current balance is greater than the transaction amount.
But, if you see carefully the statement says: bank charges 0.5 $ for each “successful transaction”.
We can rephrase this to say that, for a transaction to be successful we need at least transaction amount + 0.5(bank charges) in the account hencce it should be something like :

<pre>
if(x%5==0 && (x+0.5) < y)

Hope this helps :slight_smile:

you may wrong because our codechef compiler is work on gcc ,not turbo so ,we have to use
#include and don’t use #include<iostream.h>
and write-> using namespace std; after hearderfile.
hope you like it . help it.