Thế là sắp tới ngày tuyển sinh LQĐ rồi, Huy Trương thấy việc ôn bài của em nhỏ thật áp lực nên đã nghĩ ra 1 trò chơi cho các em nhỏ như sau: Huy sẽ cho các em nhỏ 2 mảng \(A\) và \(B\), mỗi mảng gồm \(n\) phần tử và các em phải nối các phần tử của mảng \(A\) với các phần tử của \(B\) sao cho:
+ Mỗi phần tử của mảng \(A\) chỉ nối một lần duy nhất với 1 phẩn tử của mảng \(B\) và mỗi phần tử mảng \(B\) chỉ được nối duy nhất với một phẩn tử của mảng \(A\).
+Số điểm nhận được khi ghép \(A_{i}\) và \(B_{j}\) \((1 \leq \ i\ ,\ j \leq \ n)\) là \(A_{i} \times B_{j}\) điểm.
+ Không nhất thiết phải ghép hết nếu không muốn.
Em nào đạt điểm cao nhất sẽ chiến thắng trò chơi. Bạn hãy lập trình để giúp các em nhỏ đạt điểm cao nhất có thể.
Dữ liệu vào:
+ Dòng đầu ghi số \(n\) là số phần tử của mảng \(A\) và mảng \(B\).
+ \(n\) dòng sau dòng thứ \(i\) chứa 2 phần tử là giá trị \(A_{i}\) và \(B_{i}\).
Kêt quả:
+ ghi một số nguyên duy nhất là kết quả bài toán
Input | Output |
---|---|
3 -2 3 3 -2 3 -3 | 15 |
Cách chọn để được ghép cao nhất là ghép (A2 , B1) (A1 , B3) thì số điểm nhận được là 3 * 3 + (-2) * (-3) = 15. Không cần ghép A3 và B2 vì như thế sẽ làm giảm số điểm.
Giới hạn:
+ Trong tất cả các test: \(- 10^{6} \leq \ A_{i}\ ,\ B_{i} \leq 10^{6},\ i = 1..n\)
+ 70% test \(n \leq 1000\).
+ 30% test \(n \leq 500000\) và \(A_{i} < 0 < B_{i},i = 1..n\).
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |