How to get top column base on maximum other column using group by?

My raw data:

```
DECLARE @TB TABLE (ID INT, APP VARCHAR(25), PRICE MONEY)
INSERT INTO @TB
VALUES
(1, 'Apple', 10),
(1, 'Banana', 30),
(1, 'Orange', 20),
(2, 'Apple', 20),
(2, 'Banana', 30),
(2, 'Orange', 40)

```

[![enter image description here](https://i.stack.imgur.com/I0GLg.png)](https://i.stack.imgur.com/I0GLg.png)

This what I want:

[![enter image description here](https://i.stack.imgur.com/itt6i.png)](https://i.stack.imgur.com/itt6i.png)

Explain: 

TOP\_APP = Banana because MAX(PRICE) GROUP BY ID, 

TOTAL = 60 because SUM(PRICE) GROUP BY ID.