Free Contest 105 - DISTSUM
Xem dạng PDF
Gửi bài giải
Điểm:
0,80 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Lưu ý: các bạn không nhập, xuất dữ liệu bằng file kể cả khi đề bài có yêu cầu. Đọc, ghi dữ liệu được thực hiện ở stdin và stdout.
Bình luận
Subtask1:
Dùng 2 for giải như bình thường
subtask2: lưu x và y ở 2 mảng riêng biệt
Vì nó có dấu trị tuyệt đối nên ta tìm cách phá nó đi. Cách phá thì sắp xếp lại mảng x và mảng lưu y với mình thì cho sắp xếp không tăng
+) Khi đó ta giả sử mảng x lưu các tọa độ x có giá trị a,b,c,d:
(a-b)+(a-c)+(a-d)+(b-c)+(b-d)+(c-d)=3a+2b+1c+0d-0a-1b-2c-3d=3a+b-c-3d
Như vậy tổng quát lên là: với mỗi giá trị x[i] thì nó sum(x[i])=(i-1)(-x[i])+(n-i)(x[i])
Tương tự với y cũng vậy.
code tham khảo: