Since f(2)≥f(1)+f(1)=2⋅f(1) and f(2)=0 then f(1)≤0. Therefore, f(1)=0. On the other hand, from f(3)>0 and f(3)−f(2)−f(1)∈{0,1} we have f(3)=1. Putting m=1 in the condition f(m+n)−f(n)−f(m)∈{0,1}, we obtain f(n+1)−f(1)−f(n)=f(n+1)−f(n)∈{0,1} from which follows that f(n+1)≥f(n) for all positive integer n. That is, f is increasing.
Now we will prove by induction that f(3n)≥n. The case n=1 trivially holds. Assume that f(3n)≥n and we have to see that f(3n+3)≥n+1. Indeed, f(3n+3)−f(3n)−f(3)≥0. So, f(3n+3)≥f(3n)+f(3)≥n+1. On account that f(6042)=2014 then f(3n)=n for 1≤n≤2014. Otherwise, if for some n∈{1,2,3,…,2014} we have a strict inequality, then it is not possible to obtain f(6042)=2014.
Since f(2014)=f(3⋅671+1) if we see that f(3n+1)=n for all n∈{1,2,3,…,2014}, then f(2014)=671. Finally, we will prove that f(3n+1)=n. Indeed, f(3n+1)≥f(3n)+f(1)=f(3n)=n. On the other hand, we have 3n+1=f(9n+3)≥f(6n+2)+f(3n+1)≥3⋅f(3n+1) from which follows f(3n+1)≤n+31<n+1. Hence, f(3n+1)=n.