apps_587


Submit solution

Points: 3
Time limit: 30.0s
Memory limit: 250M

Problem type
Allowed languages
Python

There are N pieces of sushi. Each piece has two parameters: "kind of topping" t_i and "deliciousness" d_i. You are choosing K among these N pieces to eat. Your "satisfaction" here will be calculated as follows:

  • The satisfaction is the sum of the "base total deliciousness" and the "variety bonus".
  • The base total deliciousness is the sum of the deliciousness of the pieces you eat.
  • The variety bonus is x*x, where x is the number of different kinds of toppings of the pieces you eat. You want to have as much satisfaction as possible. Find this maximum satisfaction.

-----Constraints-----

  • 1 \leq K \leq N \leq 10^5
  • 1 \leq t_i \leq N
  • 1 \leq d_i \leq 10^9
  • All values in input are integers.

-----Input----- Input is given from Standard Input in the following format: N K t_1 d_1 t_2 d_2 . . . t_N d_N

-----Output----- Print the maximum satisfaction that you can obtain.

-----Sample Input----- 5 3 1 9 1 7 2 6 2 5 3 1

-----Sample Output----- 26

If you eat Sushi 1,2 and 3:

  • The base total deliciousness is 9+7+6=22.
  • The variety bonus is 2*2=4. Thus, your satisfaction will be 26, which is optimal.

Comments

There are no comments at the moment.