Create an array with repeated numbers Challenge
Your task in this question is to write a program or a named function which takes a positive integer n (greater than 0) as input via STDIN, ARGV or function arguments and outputs an array via STDOUT or function returned value.
Sounds simple enough ? Now here are the rules

The array will only contain integers from 1 to n
Each integer from 1 to n should be repeated x times where x is the value of each integer.

For example:
Input:
5

Output:
[1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]

The array may or may not be sorted.
This is code-golf so winner is shortest code in bytes.
Bonus
Multiply your score by 0.5 if no two adjacent integers in your output array are same.
For example for n = 5, one such configuration would be
[5, 4, 5, 4, 3, 4, 5, 2, 5, 3, 1, 2, 3, 4, 5]
Ruby (recursive), 41 bytes * 0.5 = 20.5
def n(n,i=1);i&gt;n ?[]:n(n,i+1)+[*i..n];end

Or using a lambda (as recommended by histocrat and Ventero): 34 bytes * 0.5 = 17
r=-&gt;n,i=n{i&gt;0?[*i..n]+r[n,i-1]:[]}

(call using r[argument])