ATM Codechef Solution

ATM Codechef Solution

Problem

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.

Non-negative 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

ATM  – CodeChef Solution in Python

try:
    x,y = map(float, input().split())
    if x <= y-0.5 and x % 5==0:
        print("%.2f"%(y-x-0.50))
    else:
        print("%.2f"%y)
except:
    pass

ATM  – CodeChef Solution in CPP

#include <iostream>
#include <iomanip>
using namespace std;
int main() {
    // your code goes here
    int a;
    float b;
    cin >> a >> b;
    if (a % 5 == 0 && a<=b -0.5) b = b-a-0.50;
    cout << fixed <<setprecision(2) <<b;
    return 0;
}

ATM  – CodeChef Solution in JAVA

import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Codechef
{
	public static void main (String[] args) throws java.lang.Exception
	{
	    Scanner sc = new Scanner(System.in);
	    double withdrawl_bal = sc.nextDouble();
	    double curr_bal = sc.nextDouble();
	    if (withdrawl_bal % 5 == 0 && curr_bal >= withdrawl_bal + 0.5){
	        curr_bal = curr_bal - (withdrawl_bal + 0.5);
	    }
		// your code goes here
		System.out.printf("%.2f",curr_bal);
	}
}

Disclaimer: The above Problem (ATM) is generated by  CodeChef but the solution is provided by Chase2learn.This tutorial is only for Educational and Learning purpose.

Leave a Comment