Mua đất
Xem dạng PDF📖 Bài giảng & lời giải: đây là Bài tập 6 trong bài giảng Bài 45: Tối ưu QHĐ trên blog Lập trình thuật toán – có lý thuyết, mô phỏng từng bước, gợi ý và code C++ / Python.
⚠️ Lưu ý: hãy đảm bảo em đã thật sự cố gắng tự làm bài trước, rồi mới xem gợi ý và lời giải nhé!
🎓 Khóa học Lập trình Thuật toán thi đấu của thầy Nguyễn Việt Nam Sơn – 111 buổi video, kèm cặp cá nhân, luyện thi chuyên Tin · HSG Tin học · Tin học trẻ · đội tuyển quốc gia · Olympic/ICPC. 👉 Xem chi tiết khóa học · Thành tích học viên
📞 Đăng ký học: Zalo 0767 666 702 · Facebook Nguyễn Việt Nam Sơn · 🌐 laptrinhthuattoan.blogspot.com
Có $n$ mảnh đất hình chữ nhật, mảnh thứ $i$ có chiều rộng $w_i$ và chiều dài $h_i$ (không được xoay mảnh đất, tức là không đổi vai trò rộng/dài). Người bán chỉ cho mua theo nhóm: ta chia $n$ mảnh thành các nhóm (mỗi mảnh thuộc đúng một nhóm, một nhóm gồm các mảnh bất kỳ, không cần liền nhau), và một nhóm có giá bằng (chiều rộng lớn nhất trong nhóm) × (chiều dài lớn nhất trong nhóm).
Hãy tìm tổng chi phí nhỏ nhất để mua hết $n$ mảnh đất.
Dữ liệu vào
- Dòng 1: số nguyên $n$ ($1 \le n \le 5 \cdot 10^4$).
- $n$ dòng tiếp theo, dòng thứ $i$ gồm hai số nguyên $w_i, h_i$ ($1 \le w_i, h_i \le 10^6$).
Kết quả
In ra một số nguyên là tổng chi phí nhỏ nhất.
Sample Input
4
100 1
15 15
20 5
1 100
Sample Output
500
Note
Mua nhóm $\{15 \times 15, 20 \times 5\}$ với giá $20 \cdot 15 = 300$, hai mảnh còn lại mua riêng mỗi mảnh $100$, tổng $500$.
Bình luận