Bedao Regular Contest 16 - FINDSEQ

View as PDF

Submit solution


Points: 1.50 (partial)
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Cho trước số nguyên dương ~n~, ~w~ và 2 dãy số nguyên ~a_1, a_2, \ldots, a_n~ và ~b_1, b_2, \ldots, b_n~. Tìm 2 dãy số không âm ~x_1, x_2, \ldots, x_n~ và ~y_1, y_2, \ldots, y_n~ sao cho: $$\sum_{i = 1}^n x_i = W$$ $$\sum_{i = 1}^n y_i = W$$ $$\sum_{i = 1}^n (x_i \cdot y_i)^2 = 0$$

Và giá trị của biểu thức

$$V=(\sum_{i = 1}^n a_i x_i)(\sum_{i = 1}^n b_i x_i) + (\sum_{i = 1}^n a_i y_i)(\sum_{i = 1}^n b_i y_i)$$

là lớn nhất. In ra giá trị lớn nhất của ~V~.

Input

Dòng đầu gồm 2 số nguyên dương ~n~, ~W~ ~(2 \leq n \leq 1000, 1 \leq W \leq 100)~.

Dòng tiếp theo gồm ~n~ số nguyên ~a_1, a_2, \ldots, a_n~ ~(1 \leq |a_i| \leq 100)~.

Dòng tiếp theo gồm ~n~ số nguyên ~b_1, b_2, \ldots, b_n~ ~(1 \leq |b_i| \leq 100)~.

Output

In ra giá trị lớn nhất của ~V~. Đáp án được chấp nhận nếu sai số so với đáp án chuẩn không vượt quá ~10^{-6}~.

Scoring

Subtask Điểm Giới hạn
1 ~20~ ~n = 2~
2 ~30~ ~n \le 50~
3 ~50~ không có giới hạn gì thêm

Sample Input 1

2 2
0 1
1 0

Sample Output 1

0.0000000000

Sample Input 2

4 1
0 1 0 -1
1 0 -1 0

Sample Output 2

0.5000000000

Notes

Với ví dụ 1, chỉ có hai lựa chọn cho hai dãy ~x, y~:

  • ~x = [0, 2]~, ~y = [2, 0]~. Khi đó $$V = (0 \times 0 + 1 \times 2) (1 \times 0 + 0 \times 2) + (0 \times 2 + 1 \times 0) (1 \times 2 + 0 \times 0) = 0$$

  • ~x = [2, 0]~, ~y = [0, 2]~. Vì vai trò ~x, y~ tương đương, tương tự trường hợp đầu, ~V = 0~.

Với ví dụ 2, một trong các cách chọn ~x, y~ là ~x = [0.5, 0.5, 0, 0]~, ~[y = 0, 0, 0.5, 0.5]~. Khi đó $$V_x = (\sum_{i = 1}^n a_i x_i)(\sum_{i = 1}^n b_i x_i)$$ $$V_x = [0 \times 0.5 + 1 \times 0.5 + 0 \times 0 + (-1) \times 0] \times[1 \times 0.5 + 0 \times 0.5 + (-1) \times 0 + 0 \times 0]$$ $$V_x = 0.5 \times 0.5 = 0.25$$

$$V_y = (\sum_{i = 1}^n a_i y_i)(\sum_{i = 1}^n b_i y_i)$$ $$V_y = [0 \times 0 + 1 \times 0 + 0 \times 0.5 + (-1) \times 0.5] \times [1 \times 0 + 0 \times 0 + (-1) \times 0.5 + 0 \times 0.5]$$ $$V_y = (-0.5) \times (-0.5) = 0.25$$

Cộng lại ta có ~V = V_x + V_y = 0.5~. Có thể chứng minh đây là giá trị lớn nhất của ~V~ có thể đạt được.


Comments

Please read the guidelines before commenting.


There are no comments at the moment.