题目描述
小H陷入了一个迷宫中,迷宫里有一个可怕的怪兽,血量有N点,小H有三瓶魔法药水,分别可以使怪兽损失a%、b%、c%的血量(之后怪兽的血量会向下取整),小H想合理地运用这三瓶药水,使怪兽失去尽可能多的血量
注意:每瓶药水只能用一次
输入描述:
一行,四个整数 N,a,b,c
输出描述:
一行,一个整数w,表示最多能使得怪兽扣减多少血量
示例1
输入:100 20 15 0
输出:32
备注:5≤N≤109,0≤a,b,c≤100
解题思路:先排序,再按百分比从大到小贪心即可。
AC代码:
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 int N,a[3]; 6 cin>>N>>a[0]>>a[1]>>a[2]; 7 sort(a,a+3); 8 int ans=N; 9 for(int i=0;i<3;i++) 10 ans*=1-a[2-i]/100.0; 11 cout<<N-ans<<endl;//减去剩下的血量即为怪兽损失的血量 12 return 0; 13 }