CodeForces 560A Currency System in Geraldion

分析

问一仅有n种面额的货币系统是否存在一个不能组合的金额,如果存在,输出最小的金额,如果不存在输出-1
简单的考虑一下货币,比如1、2、5,这些我们常见的小额币值能够表达我们日常所有的金额。再考虑一下,所有的金额其实都能拆分为1(比如用许多许多1块钱买辆车…),所以这道题目,只需要考虑这个系统是否提供了面额为1的货币。

代码

#include <cstdio>

int main()
{
    int n, v;
    bool flag = false;
    scanf("%d", &n);
    while (n--) {
        scanf("%d", &v);
        if (v == 1) flag = true;
    }
    printf(flag ? "-1\n" : "1\n");
}

题目

Description

A magic island Geraldion, where Gerald lives, has its own currency system. It uses banknotes of several values. But the problem is, the system is not perfect and sometimes it happens that Geraldionians cannot express a certain sum of money with any set of banknotes. Of course, they can use any number of banknotes of each value. Such sum is called unfortunate. Gerald wondered: what is the minimum unfortunate sum?

Input

The first line contains number n(1n1000) — the number of values of the banknotes that used in Geraldion.
The second line contains n distinct space-separated numbers a1,a2,...,an(1ai106) — the values of the banknotes.

Output

Print a single line — the minimum unfortunate sum. If there are no unfortunate sums, print 1 .

Sample

Input
5
1 2 3 4 5
Output
-1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值