<?php

error_reporting(-1);
mb_internal_encoding('utf-8');

$originalamount = 3500;


$amount = $originalamount; //теперь работаю с amount
$bills = [
    100 => 5,
    500 => 15,
    1000 => 30,
    5000 => 2,
];

/* проверяю, есть ли вообще банкноты */
if ($bills[5000] == 0 and $bills[1000] == 0 and $bills[500] == 0 and $bills[100] == 0) {
    echo "Sorry, we are currently not able to give any money due to total lack of bank notes.\n\n";
    exit();
}

/* проверяю кратность 100 */
if ($amount%100 !== 0) {
    echo "Please, enter the amount of money divisible by 100.\n";
    exit();
}

/*боооольшой иф, первая часть - если введена положительная сумма (мало ли) */
if ($amount > 0) {

    if ($bills[5000] > 0) {
        if ($bills[5000] >= floor($amount / 5000)) {
            $count5000 = floor($amount / 5000);
        } else {
            $count5000 = $bills[5000];
        }
        echo "5000 x $count5000\n";
        $amount = $amount - $count5000 * 5000;
    } else {
        echo "no 5000 bills in the machine\n";
    }

    if ($bills[1000] > 0) {
        if ($bills[1000] >= floor($amount / 1000)) {
            $count1000 = floor($amount / 1000);
        } else {
            $count1000 = $bills[1000];
        }
        echo "1000 x $count1000\n";
        $amount = $amount - $count1000 * 1000;
    } else {
        echo "no 1000 bills in the machine\n";
    }

    if ($bills[500] > 0) {
        if ($bills[500] >= floor($amount / 500)) {
            $count500 = floor($amount / 500);
        } else {
            $count500 = $bills[5000];
        }
        echo "500 x $count500\n";
        $amount = $amount - $count500 * 500;
    } else {
        echo "no 500 bills in the machine\n";
    }

    if ($bills[100] > 0) {
        if ($bills[100] >= floor($amount / 100)) {
            $count500 = floor($amount / 100);
        } else {
            $count500 = $bills[100];
        }
        echo "100 x $count500\n";
        $amount = $amount - $count500 * 100;
    } else {
        echo "no 100 bills in the machine\n";
    }

/* вторая часть, если не введено ничего*/
} elseif ($amount == 0) {
    echo "Please, enter the amount of money you would like to receive.\n";
    
/* третья часть, если введено абы что */
} else {
    echo "Error. Enter a valid amount of money\n";
}

/* теперь проверяю, осталось ли невыданное в amount кол-во денег */
if ($amount > 0) {
	/* этот случай описывает ситуацию, когда не хватило банкнот для выдачи  */
    if ($amount != $originalamount) {
        echo "\n\nWe are temporarily unable to give you amount of money you asked. If you lowered the amount by {$amount} we would be able execute the operation.\n";
    /* для ситуации, когда запросили 100, а в банкомате только крупные. Ну ты понел */
    } else {
        echo "\n\nWe are temporarily unable to give you amount of money you asked. Come later.\n";
    }
}
