Currency System in Geraldion

题目链接http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=201542

题意

        输入一个数n,表示几种不同面值的纸币。输入那组纸币的面值,问不能组成的价值中最小的是多少,如果所有价值都可以组成,则输出-1.

       案例:

       Inpu

       5

      1 2 3 4 5

      Outpu
     -1
思路分析:   
当有面值为1的纸币时,你就会发现可以用1组成任意价值的钱。所以在1存在时直接输出-1。
当没有面值为1的纸币时,任何面值都无法组成1.
所以直接判断是否有1.
源代码如下:
 1 #include<iostream>

 2 #include<algorithm>

 3 #define max 1000

 4 using namespace std;

 5 int main()

 6 {

 7     int n;

 8     cin>>n;

 9     int a[max];

10     for(int i=0;i<n;i++)

11         cin>>a[i];

12     sort(a,a+n);

13     if(a[0]==1)

14         cout<<"-1"<<endl;

15     else

16         cout<<"1"<<endl;

17     return 0;

18 }
 
   

 

 

你可能感兴趣的:(System)