首页 > 其他分享 >Codeforces Round #358 (Div. 2) -- B. Alyona and Mex (思路水题)

Codeforces Round #358 (Div. 2) -- B. Alyona and Mex (思路水题)

时间:2023-05-15 10:31:59浏览次数:38  
标签:Alyona 水题 -- positive value int array mex


B. Alyona and Mex

time limit per test

memory limit per test

input

output

Someone gave Alyona an array containing n positive integers a1, a2, ..., an. In one operation, Alyona can choose any element of the array and decrease it, i.e. replace with any positive integer that is smaller than the current one. Alyona can repeat this operation as many times as she wants. In particular, she may not apply any operation to the array at all.

Formally, after applying some operations Alyona will get an array of n positive integers b1, b2, ..., bn such that 1 ≤ bi ≤ ai for every 1 ≤ i ≤ n. Your task is to determine the maximum possible value of mex of this array.

Mex of an array in this problem is the minimum positive integer that doesn't appear in this array. For example, mex of the array containing 1, 3 and 4 is equal to 2, while mex of the array containing 2, 3 and 2 is equal to 1.

Input

The first line of the input contains a single integer n (1 ≤ n ≤ 100 000) — the number of elements in the Alyona's array.

The second line of the input contains n integers a1, a2, ..., an (1 ≤ ai ≤ 109) — the elements of the array.

Output

Print one positive integer — the maximum possible value of mex of the array after Alyona applies some (possibly none) operations.

Examples

Input

5 1 3 3 3 6

Output



5



Input



2 2 1



Output



3



Note



In the first sample case if one will decrease the second element value to 2 and the fifth element value to 4 then the mex value of resulting array 1 2 3 3 4 will be equal to 5.

To reach the answer to the second sample case one must not decrease any of the array elements.

大体题意:

给你n 个数,你可以任意交换两个数的位置,你也可以把一个数减小。问最后mex数最大是多少,mex数是这n个数中未出现数的最小值。

思路:

先给n个数排序,那么设mex = 1,发现一个数大于等于mex  mex++,最后输出即可!

为什么这样做可以呢?

因为要想让mex尽可能的大,你就尽量的向1,2,3,4这样连续子序列去凑,排好序后,比如说第二个数是1000吧,把它变成2后 那么mex就成了3,否则mex是2,依次类推……


#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
const int maxn = 100000 + 10;
int a[maxn];
int main(){
    int n;
    while(scanf("%d",&n) == 1){
        for (int i = 0; i < n; ++i){
            scanf("%d",&a[i]);
        }
        sort(a,a+n);
        int ans = 1;
        for (int i = 0; i < n; ++i){
            if (a[i] >= ans)++ans;
        }
        printf("%d\n",ans);

    }
    return 0;
}




标签:Alyona,水题,--,positive,value,int,array,mex
From: https://blog.51cto.com/u_16112850/6276927

相关文章

  • android 多款按钮样式
    http://www.mindfreakerstuff.com/2012/10/50-awesome-useful-android-custom-button-style-set-2/#button-set2http://www.mindfreakerstuff.com/2012/09/50-useful-android-custom-button-style-set-1/......
  • 外汇天眼:远离黑平台!Penzo偷换概念称出金必须缴纳税金,否则无法出金!
    一般来说,在外汇交易出金是不需要缴纳税金的,但对于新手投资者来说,遇到的最多的就是缴税纳税骗局。由于很多新手外汇投资者并不知情,那些骗子就利用了外汇新手不知情的这点,以出金需要缴纳税金这样的借口骗取投资者资金,甚至偷换概念,称缴纳出金税和工作纳税性质一样。而投资者一旦相信而......
  • OpenIddict token expiration
    @@OpenIddicttokenexpiration https://nwb.one/blog/openid-connect-dotnet-5在.NET5中使用OpenIddict设置令牌身份验证什么是OpenIddict?OpenIddict是OpenIDConnect服务器中间件的.NETCore实现,允许您在任何.NETCore/.NET5应用程序中轻松设置OpenIDCo......
  • im即时通信软件要怎么挑选?
    随着科技发展和网络技术的进步,IM即时通信软件已经成为现代企业内部沟通的主要工具之一。如何选择一款适合自己企业的IM即时通信软件,是许多企业面临的挑战。有度即时通将从安全性、功能性、稳定性、易用性、多平台支持和客服与支持等方面分析IM即时通信软件的选型要点,以帮助企业做......
  • 前端开发之函数式编程实践
    作者:京东科技 牛志伟函数式编程简介常见应用场景1、ES6中的map、filter、reduce等函数[1,2,3,4,5].map(x=>x*2).filter(x=>x>5).reduce((p,n)=>p+n);2、React类组件->函数式组件+hooks、Vue3中的组合式API3、RxJS、Lodash和Ramda等JS库4、中间件/插件,如Red......
  • Redis 持久化方式
    参考:小林coding https://xiaolincoding.com/redis/storage/aof.html#aof-%E9%87%8D%E5%86%99%E6%9C%BA%E5%88%B6https://www.cnblogs.com/lovezhr/p/15886823.html AOF(AppendOnlyFile)如果Redis 每执行一条写操作(不会记录读操作命令)命令,就把该命令 以追加的方式写入到......
  • 直流微电网模型Matlab2016及以上,功率波动及直流母线电压控制。
    直流微电网模型Matlab2016及以上,功率波动及直流母线电压控制。仅限交流学习~该模型包括:本地松弛母线、光伏系统、电池和直流负载。本地松弛总线使用与交流电网连接的简化VSC转换器。光伏系统采用标准光伏模型+升压转换器。电池采用标准锂离子电池型号+双有源桥式转换器。需求通过......
  • 从3s到25ms!看看京东的接口优化技巧,确实很优雅!!
    大家好,最近看到京东云的一位大佬分享的接口优化方案,感觉挺不错的,拿来即用。建议收藏一波或者整理到自己的笔记本中,随时查阅!来源:https://toutiao.io/posts/0kwkbbt下面是正文。一、背景针对老项目,去年做了许多降本增效的事情,其中发现最多的就是接口耗时过长的问题,就集中搞了一......
  • 批处理处理金额小数点问题
    NumberAdapter自定义转换器/***用来处理小数点问题*/publicclassNumberAdapterextendsTypeAdapter<String>{@Overridepublicvoidwrite(JsonWriterout,Stringvalue)throwsIOException{if(value==null){out.nullValue();......
  • TPT19新特性之最坏情况执行时间的指示
     在TPT19中,首次有了最坏情况执行时间的早期预警系统——这已经在本地主机上用于测试执行。 基本原则:对每个测试步骤的执行时间进行测量。这使您可以快速轻松地确定哪些测试和哪些条件会影响本地主机上的执行时间。 指示器显示了哪些测试和哪些测试刺激延长了执行时间。因......