>>>>>- если же a_n больше чем a_t - то не ясно что делать. По идее можно сначала гистограмму немного сжать - потом подвинуть ее вверх. Непонятны цифры в этом случае.
А разве не сработает y = x*(a_n/a_t), но с проверкой условия, если [x*(a_n/a_t)] превышает максимум, то значению "y" присваиваете максимум. Вроде линейное преобразование при изменении яркости?