Currency System in Geraldion

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

题意:

      Geraldion是一个神奇的岛,拥有自己的货币系统。它使用了几个不同面值的货币,但问题是制度不完善,有时岛民不能用已有面值的货币表达一定的钱。当然,他们可以使用每种面值货币任何数量。这种不能用已知面值货币表达出来的金额被称为不幸和。问:给出已有货币面值,最小的不幸和是多少?

      输入行:首行输入Geraldion岛拥有的货币面值数,次行输入已知的货币面值;

      输出行:若无最小不幸和,输出'-1',否则单行输出最小的不幸和。

案例:      

          Input
     5

1 2 3 4 5

 

         Output
    -1

 

分析:

       货币面值如若存在为'1'的,则其他任意金额都可由'1'构成,反之,不存在面值为'1'的货币,则任意其它金额都不能构成'1','1'为最小的不幸和。故只需判断给出的面值中是否存在'1'即可。       

源代码:

 

 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 const int maxn=1000;
 5 int a[maxn];
 6 int main()
 7 {
 8     int n,i;
 9     cin>>n;
10     for(i=0;i<n;i++)//输入拥有的货币面值
11         cin>>a[i];
12     sort(a,a+n);//排序
13     if(a[0]==1)//判断是否存在面值为1的货币
14         cout<<"-1"<<endl;
15     else
16         cout<<"1"<<endl;
17     return 0;
18 }

 

posted @ 2015-07-26 19:06  ~瞬间*  阅读(185)  评论(0编辑  收藏  举报