CF Round #509 (Div. 2)

前言:第一次打\(CF\),因为经验不足以及英语水平很烂,即便在机房大佬的带领下也是花了好久才读懂题目。。\(A\)题直到\(11\)分钟才\(A\),太菜了。。题目一共做了\(4\)题,所以这里只说这\(4\)题。

A. Heist

Description

\(n\)个正整数,设最小的数为\(minn\),最大的数为\(maxn\),求\(minn\sim maxn\)的正整数连续区间里有多少数不属于这\(n\)个正整数。

My Solution

显然答案就是\(maxn-minn-n+1\)

#include<cstdio>
using namespace std;
inline int re()
{
    int x = 0;
    char c = getchar();
    bool p = 0;
    for (; c < '0' || c > '9'; c = getchar())
        p |= c == '-';
    for (; c >= '0' && c <= '9'; c = getchar())
        x = x * 10 + c - '0';
    return p ? -x : x;
}
inline int maxn(int x, int y)
{
    return x > y ? x : y;
}
inline int minn(int x, int y)
{
    return x < y ? x : y;
}
int main()
{
    int i, n, mi = 1e9, ma = 0, x;
    n = re();
    for (i = 1; i <= n; i++)
    {
        x = re();
        mi = minn(mi, x);
        ma = maxn(ma, x);
    }
    printf("%d", ma - mi + 1 - n);
    return 0;
}

睡觉去,剩下的明天补。

猜你喜欢

转载自www.cnblogs.com/Iowa-Battleship/p/9657493.html
今日推荐