Find the optimal sliding door width Sliding doors have varying prices based on the width of the doors. The different prices are as follows:


60 - 80 cm:   ¤150
81 - 100 cm:  ¤200
101 - 120 cm: ¤220


When buying a closet you would obviously want to minimize the cost, so your task is to find the width of the doors that minimizes the total cost based on the total width of the closet.

Rules:


The total width will be taken as input
All doors will have the same width
Choose the smallest doors if two type of doors cost the same
The widths are in centimeters, integers not decimals


Round up decimals

The price shall be returned as an integer (no need for the currency sign)
The input and output formats are optional, but the order of the output must be: Number of doors, Width, Price.
Input will be in the range [120 1000).


This is code golf. Shortest code in bytes win. 

Examples:

Input: 156
Output: 2, 78, 300

Input: 331
Output: 3, 111, 660

Input: 420
Output: 4, 105, 880
Perl, 190 180 154 133 128 117 bytes

includes +1 for -p

use POSIX;$m=1E4;for$q(80,100,120){($m,@z)=($p,$n,ceil$_/$n)if$m&gt;($p=(150,200,220)[$x++]*($n=ceil$_/$q))}$_="@z $m"


Commented:

use POSIX;                                  # for ceil()
$m = 1E4;                                   # init min price to 10k
for $q (80,100,120) {                       # iterate widths
    ($m,@z) = ($p,$n, ceil $_/$n)           # update min, output
    if $m &gt; (                               #
       $p = (150,200,220)[$x++]             # grab price
          * ( $n = ceil $_/$q )             # times nr of doors needed
    )
}
$_="@z $m"





Save 11 bytes by inlining and splitting hash to two arrays
Save 5 bytes by using -p (thanks to @dev-null)
Save 18 bytes by using POSIX::ceil and 3 more by using list syntax for hash (thanks to @msh210)