https://atcoder.jp/contests/abc158/tasks/abc158_c
解説
https://atcoder.jp/contests/abc158/submissions/10644259
A,Bは100以下である。8%して100なので、税抜き価格は雑にやると100倍くらいになる。
よって、10000以下で全探索すれば答えが存在すれば見つけることができる。
税抜き価格xから消費税を計算する場合は、例えば8%であれば、x0.08をすればいいのだが、
最終的には小数点以下は切り捨てるし、小数を介するのは、誤差とかがちょっと怖い。
なので、x8をして、100で割ることで整数上で正確に切り捨てを計算することができる。
あとは、同じか判定して条件を満たせばxを答える。
ループ抜けたら答えがないので、-1を答える。
int A, B; //--------------------------------------------------------------------------------------------------- void _main() { cin >> A >> B; rep(x, 1, 10001) { int a = x * 8 / 100; int b = x * 10 / 100; if (a == A && b == B) { cout << x << endl; return; } } cout << -1 << endl; }