Notice
Chào mừng bạn đến với OREOJ

Maximum Composition

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Nguồn bài:
Atcoder
Dạng bài
Ngôn ngữ cho phép
Assembly, AWK, C, C++, C++20, Go, Java, Kotlin, Pascal, Perl, PyPy, Python, Rust, Scratch, SED, Text

Bạn được cho ~N~ hàm tuyến tính ~f_1, f_2, \ldots, f_N~, trong đó:

~f_i(x) = A_i x + B_i~

Hãy chọn một dãy ~p = (p_1, p_2, \ldots, p_K)~ gồm ~K~ chỉ số khác nhau (1 ≤ ~p_i~ ≤ ~N~), và áp dụng phép hợp hàm theo thứ tự:

~f_{p_1}(f_{p_2}(\ldots f_{p_K}(1)\ldots))~

Hãy tìm giá trị lớn nhất có thể đạt được.


Input

  • Dòng đầu chứa hai số nguyên ~N~, ~K~.
  • ~N~ dòng tiếp theo, dòng thứ ~i~ chứa hai số nguyên ~A_i~, ~B_i~.

Output

  • In ra một số nguyên là giá trị lớn nhất có thể đạt được.

Ràng buộc

  • ~1 \le N \le 2 \times 10^5~
  • ~1 \le K \le \min(N, 10)~
  • ~1 \le A_i, B_i \le 50~

Ví dụ

Input
3 2
2 3
1 5
4 2
Output
26

Giải thích

Xét tất cả các hoán vị độ dài ~K = 2~:

  • ~p = (1, 2): f_1(f_2(1)) = 15~
  • ~p = (1, 3): f_1(f_3(1)) = 15~
  • ~p = (2, 1): f_2(f_1(1)) = 10~
  • ~p = (2, 3): f_2(f_3(1)) = 11~
  • ~p = (3, 1): f_3(f_1(1)) = 22~
  • ~p = (3, 2): f_3(f_2(1)) = 26~

Giá trị lớn nhất là ~26~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.