F - Maximum Composition Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 500500

問題文

NN 個の一次関数 f1,f2,,fNf_1,f_2,\ldots,f_N が与えられます。fi(x)=Aix+Bif_i(x)=A_i x+B_i です。

11 以上 NN 以下の相異なる KK 個の整数からなる長さ KK の数列 p=(p1,p2,pK)p=(p_1,p_2, \ldots p_K) について、fp1(fp2(fpK(1)))f_{p_1}(f_{p_2}(\ldots f_{p_K}(1)\ldots )) としてありえる最大値を求めてください。

制約

  • 1N2×1051 \leq N \leq 2 \times 10^{5}
  • 1Kmin(N,10)1 \leq K \leq \text{min}(N,10)
  • 1Ai,Bi501 \leq A_i,B_i \leq 50 (1iN)(1 \leq i \leq N)
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN KK
A1A_1 B1B_1
A2A_2 B2B_2
\vdots
ANA_N BNB_N

出力

答えを整数として出力せよ。


入力例 1Copy

Copy
3 2
2 3
1 5
4 2

出力例 1Copy

Copy
26

ありえるすべての pp とそれに対応する fp1(fp2(1))f_{p_1}(f_{p_2}(1)) の値は以下の通りです。

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

よって、 2626 と出力します。


入力例 2Copy

Copy
10 3
48 40
34 22
24 37
45 40
48 31
49 44
45 40
44 6
35 22
39 28

出力例 2Copy

Copy
216223

Score : 500500 points

Problem Statement

You are given NN linear functions f1,f2,,fNf_1, f_2, \ldots, f_N, where fi(x)=Aix+Bif_i(x) = A_i x + B_i.

Find the maximum possible value of fp1(fp2(fpK(1)))f_{p_1}(f_{p_2}(\ldots f_{p_K}(1) \ldots )) for a sequence p=(p1,p2,,pK)p = (p_1, p_2, \ldots, p_K) of KK distinct integers between 11 and NN, inclusive.

Constraints

  • 1N2×1051 \leq N \leq 2 \times 10^{5}
  • 1Kmin(N,10)1 \leq K \leq \text{min}(N,10)
  • 1Ai,Bi501 \leq A_i, B_i \leq 50 (1iN)(1 \leq i \leq N)
  • All input values are integers.

Input

The input is given from Standard Input in the following format:

NN KK
A1A_1 B1B_1
A2A_2 B2B_2
\vdots
ANA_N BNB_N

Output

Print the answer as an integer.


Sample Input 1Copy

Copy
3 2
2 3
1 5
4 2

Sample Output 1Copy

Copy
26

Here are all possible pp and the corresponding values of fp1(fp2(1))f_{p_1}(f_{p_2}(1)):

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

Therefore, print 2626.


Sample Input 2Copy

Copy
10 3
48 40
34 22
24 37
45 40
48 31
49 44
45 40
44 6
35 22
39 28

Sample Output 2Copy

Copy
216223


2025-04-21 (Mon)
10:01:59 +00:00