ATM Solution | CodeChef

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.

CodeChef Problem Link

Input

Positive integer X, the amount of cash which Pooja wishes to withdraw.
Nonnegative number Y, 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.

Constraints
  • 1 <= X ≤ 2000
  • 1 <= Y ≤ 2000
Sample Input
30 120.00
Sample Output
89.50
Solution

Code Implementation

//
//  main.cpp
//  ATM
//
//  Created by Himanshu on 19/02/22.
//

#include <iostream>
using namespace std;

int main() {
    int X;
    float Y;
    
    cin>>X>>Y;
    
    if ((X%5 == 0) && (Y >= X + 0.5)) {
        Y = Y - X - 0.5;
    }
    
    printf("%f", Y);
    
    return 0;
}

Time Complexity: O(1)

Leave a Reply

Your email address will not be published. Required fields are marked *