题解 CF168A 【Wizards and Demonstration】

这个题目是真的入门

然而我还是WA了几次

坑点是一个上取整和精度问题

首先我们设答案为$ans$,最小答案为$ans_{min}$,则有$ ans+x \ge n*y%$

所以$ans_{min}=n*y%-x$

为了上取整,我们输出$n/100.0*y+0.99-x$,于是由于精度问题被卡了

所以我们只好输出$(n*y+99)/100-x$,然后就AC了

代码:

1
2
3
4
5
6
7
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,x,y;
cin>>n>>x>>y;
cout<<max((n*y+99)/100-x,0);
}