CodeForces 862A Mahmoud and Ehab and the MEX

題目鏈接:http://codeforces.com/contest/862/problem/A
題意:給你一個大小爲n的集合,你現在有添加和刪除操作,問你要經過多少操作,才能使得這個集合裏,最小的沒有出現的元素爲x
解析:假設給你一個空集合,那麼需要的操作數是x,但是如果這個多一個小於x的元素,那麼你就不用再添加了,所以操作數-1,如果有x,操作數要+1,因爲要刪除它

#include <bits/stdc++.h>
using namespace std;
int main(void)
{
    int n,x,num;
    scanf("%d %d",&n,&x);
    int ans = x;
    for(int i=0;i<n;i++)
    {
        scanf("%d",&num);
        if(num<x)
            ans--;
        else if(num==x)
            ans++;
    }
    printf("%d\n",ans);
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章