In the case $n =1$ we have $g(x, y)=(y -1) x$. Then :
\begin{center}
\fbox{$\displaystyle n =1\quad\Rightarrow\quad f^*(y)=\left\{\begin{array}{lrr}
0&\text{if}& y =1\\
+\infty&\text{if}& y \neq1
\end{array}\right.$}
\end{center}\vspace{5mm}
Now we consider $n > 1$. If there exists $i \in\{1, ..., n\}$ such that $y_i < 0$ then for $\lambda > 0$ we have :
$$ n =1\quad\Rightarrow\quad f^*(y)=\left\{\begin{array}{lrr}
0&\text{if}& y =1\\
+\infty&\text{if}& y \neq1
\end{array}\right. \vspace{5mm}$$
Now we consider $n > 1$. If there exists $i \in\{1, ..., n\}$ such that $y_i < 0$ then we let $\lambda > 0$. Because $n > 1$, we have $\max_j (-\lambda e_i)_j =0$. Therefore we obtain :
Where $e_i$ is the vector with a one at position $i$ and zeros everywhere else. Then if $y$ has a negative component $f^*(y)=+\infty$. \\
We now look at the case $y \in\R_+^n$. We denote by $\mathbbm{1}_n$ the vector with ones everywhere. We also denote by $m(x)$, the maximum $\max_{i =1, ..., n} x_i$. Then $m \left( m(x)\mathbbm{1}_n \right)= m(x)$ and by positivity of $y$ we have $y^\trans x \leqslant y^\trans\left( m(x)\mathbbm{1}_n \right)$. Thus :
This is for the case $n > 1$. But we can remark that for $n =1$ the formula is still true. So this is a correct expression in the general case.
\paragraph{(b)}
This time we have :
$$ g(x, y)= y^\trans x -\sum_{i =1}^r x_{[i]}$$
We start with the case $r = n$. In this case we have $g(x, y)=(y -\mathbbm{1}_n)^\trans x$. So:
$$ r = n \quad\Rightarrow\quad f^*(y)=\left\{\begin{array}{lrr}
0&\text{if}& y =\mathbbm{1}_n \\
+\infty&\text{if}& y \neq\mathbbm{1}_n
\end{array}\right. \vspace{5mm}$$
Now we consider the case $r < n$. As in the previous question if there exists $i$ such that $y_i < 0$, then for $\lambda > 0$, because $r < n$, we have $\sum_{j =1}^r (-\lambda e_i)_{[j]}=0$ and :
We are now restricted to the case $0\preceq y \preceq\mathbbm{1}_n$. Suppose $y^\trans\mathbbm{1}_n < r$ that is to say $\| y \|_1 < r$. Then :
$$ g(y, \lambda\mathbbm{1}_n)=\lambda(\| y \|_1- r)\xrightarrow[\lambda\rightarrow-\infty]{}+\infty$$
In the same way if $\| y \|_1 > r$, we have :
$$ g(y, \lambda\mathbbm{1}_n)=\lambda(\| y \|_1- r)\xrightarrow[\lambda\rightarrow+\infty]{}+\infty$$
We finally study the case where $0\preceq y \preceq\mathbbm{1}_n$ and $\| y \|_1= r$. We fix $x \in\R^n$. We consider the Linear Knapsack Problem (LKP) where $(x_i - x_{[n]})$'s are the (non-negative) values of $n$ objects. Where we can pick at most a quantity $1$ of each objects and where the size of our knapsack is $r$. We know that 'the' greedy algorithm is optimal for (LKP). So picking a quantity $1$ of the $r$ objects with the highest values is optimal. This means that for $y$ with $0\preceq y \preceq\mathbbm{1}_n$ and $\| y \|_1= r$, a vector representing the amount of each objects that we pick, we have :
We start with the case $p > 1$. If $y \leqslant0$, then $g(x, y)\leqslant0$ because $x$ is positive. Furthermore when $x$ tends to 0, $g(x, y)$ tends also to 0. So in this case $f^*(y)=0$. \\[2mm]
Now consider $y > 0$. On $\R_{++}$, $x \mapsto x^p$ is strictly convex so $g(x, y)$ is strictly concave with respect to $x$. Then $g(., y)$ admits a unique maxima on $\R_{++}$. We derive $g$ with respect to $x$:
$$\dfrac{\partial g}{\partial x}= y - p x^{p-1}$$
The maximum is reached when this derivative equals 0. So when $x =\left(\frac{y}{p}\right)^{\frac{1}{p-1}}$.
$$ f^*(y)\;=\; g \left(\left(\frac{y}{p}\right)^{\frac{1}{p-1}}, \, y \right)\;=\; y^{\frac{p}{p-1}} p^{-\frac{1}{p-1}}- y^{\frac{p}{p-1}} p^{-\frac{p}{p-1}}\;=\;(p -1)\left(\frac{y}{p}\right)^{\frac{p}{p-1}}$$
We then obtain:
\begin{center}
\fbox{$\displaystyle p > 1\quad\Rightarrow\quad f^*(y)=\left\{\begin{array}{ll}
0&\text{If } y \leqslant0\\
(p -1)\left(\frac{y}{p}\right)^{\frac{p}{p-1}}&\text{If } y > 0
\end{array}\right.$}
\end{center}
\vspace{5mm}
Now we study the case $p < 0$. If $y > 0$ then $g(x, y)$ tends to infinity when $x$ tends to infinity. So in this case $f^*(y)=+\infty$. \\[2mm]
Then we look at the case $y \leqslant0$. We still have the strict concavity of $g(., y)$. The derivative is still the same and the maxima has still the same expression. So we obtain the final result :
\begin{center}
\fbox{$\displaystyle p < 0\quad\Rightarrow\quad f^*(y)=\left\{\begin{array}{ll}
+\infty&\text{If } y > 0\\
(p -1)\left(\frac{y}{p}\right)^{\frac{p}{p-1}}&\text{If } y \leqslant0