Codeforces_729_E

Posted 冷暖知不知

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces_729_E相关的知识,希望对你有一定的参考价值。

http://codeforces.com/problemset/problem/729/E

 

存在的数必须连续,若不连续,从最后选人来补,注意根不是0和其他点是0的情况。

 

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;

int n,s,num[200005] = {0};

int main()
{
    int ans = 0,t = 0;
    scanf("%d%d",&n,&s);
    for(int i = 1;i <= n;i++)
    {
        int x;
        scanf("%d",&x);
        if(i == s && x != 0)    ans++;
        else if(i != s && x == 0)
        {
            t++;
            ans++;
        }
        else    num[x]++;
    }
    int sum = 1;
    for(int i = 1;i < n;i++)
    {
        if(sum >= n)    break;
        if(!num[i])
        {
            if(t)   t--;
            else    ans++;
            sum++;
        }
        else    sum += num[i];
    }
    printf("%d\n",ans);
    return 0;
}

 

以上是关于Codeforces_729_E的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Round #729 (Div. 2) D. Priority Queue(简单dp)

Codeforces Round #729 (Div. 2) C. Strange Function(lcm,简单容斥)

Codeforces_496_E

Codeforces_492_E

CodeForces 1103E. Radix sum

CodeForces 1065E. Side Transmutations 计数