#Toán tin C++
1 messages · Page 1 of 1 (latest)
đầu tiên xếp N số nguyên theo thứ tự tăng dần
xong ở mỗi lần đánh rồng thì
xét 2 th
th1:{
-dùng tìm kiếm nhị phân để tìm chiến binh yếu nhất có sm >= sm của rồng , nếu tổng sm của các chiến binh còn lại < pt của rồng thì số xu cần dùng là pt - tổng sức mạnh còn >= thì số xu cần tìm là 0
- nếu ko có chiến binh thỏa mãn thì số xu cần tìm là tổng của sm rồng - sm của chiến binh mạnh nhất + max(0,sức pt của rồng - sum sm các chiến binh còn lại)
}
th2
{
-dùng tìm kiếm nhị phân tìm chiến binh mạnh nhất có sm <sm của rồng thì số xu cần dùng = sm rồng - sm chiến binh vừa tìm + max(0,sức pt của rồng - sum sm các chiến binh còn lại)
-nếu ko có chiến binh thỏa mãn thì số xu cần tìm = max(0,sức pt của rồng - sum sm các chiến binh ko tính chiến binh yếu nhất)
}
xong xét đáp án là min của 2th
độ phức tạp là max(Nlog2(N),Mlog2(N))
mình ko chắc với lời giải của mình nữa mong giúp đc bạn
