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

//
//  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.