题目链接
题意
小H陷入了一个迷宫中,迷宫里有一个可怕的怪兽,血量有N点,小H有三瓶魔法药水,分别可以使怪兽损失a%、b%、c%的血量(之后怪兽的血量会向下取整),小H想合理地运用这三瓶药水,使怪兽失去尽可能多的血量
注意:每瓶药水只能用一次
题解
模拟即可,注意是血量向下取整,则失去的血量向上取整!
代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
typedef long long ll;
int a[3];
bool cmp(int c,int d) {return c > d;}
int main()
{
ll n;
while(~scanf("%lld%d%d%d",&n,&a[0],&a[1],&a[2]))
{
sort(a,a+3,cmp);
ll ans = 0;
for(int i=0;i<3;i++) {
ll temp = ceil(1.0* n * a[i] / 100);
ans += temp;
n -= temp;
}
printf("%lld\n",ans);
}
return 0;
}