http://codeforces.com/problemset/problem/1214/A
题目大意:给出
n
、
a
、
b
n、a、b
n、a、b,
1
1
1美元=
a
a
a卢布,
1
1
1欧元=
b
b
b卢布,你现在有
n
n
n卢布,可选的美元面值有
1
、
2
、
5
、
10
、
20
、
50
、
100
1、2、5、10、20、50、100
1、2、5、10、20、50、100,可选的欧元面值有
5
、
10
、
20
、
50
、
100
、
200
5、10、20、50、100、200
5、10、20、50、100、200,问把卢布换成任意数量的美元和欧元后最少可以剩下多少卢布。
思路:因为求的是最少可以省下的卢布数量,而美元面值中后面的面值都是 1 1 1的倍数,欧元面值中后面的面值都是 5 5 5的倍数,因此其实考虑这两个面值就可以了。那么问题就简单了,直接暴力枚举。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
using namespace std;
int n,a,b;
int main()
{
scanf("%d%d%d",&n,&a,&b);
b*=5;
int ans=1e9;
for(int i=n/a;i>=0;i--)
ans=min(ans,(n-i*a)%b);
printf("%d\n",ans);
return 0;
}