zoukankan      html  css  js  c++  java
  • Codeforces Round #509 (Div. 2) A. Heist 贪心

    There was an electronic store heist last night.

    All keyboards which were in the store yesterday were numbered in ascending order from some integer number x. For example, if x=4 and there were 3 keyboards in the store, then the devices had indices 4, 5 and 6, and if x=10 and there were 7 of them then the keyboards had indices 10, 11, 12, 13, 14, 15 and 16.

    After the heist, only n keyboards remain, and they have indices a1,a2,…,an. Calculate the minimum possible number of keyboards that have been stolen. The staff remember neither x nor the number of keyboards in the store before the heist.

    Input
    The first line contains single integer n (1≤n≤1000) — the number of keyboards in the store that remained after the heist.

    The second line contains n distinct integers a1,a2,…,an (1≤ai≤109) — the indices of the remaining keyboards. The integers ai are given in arbitrary order and are pairwise distinct.

    Output
    Print the minimum possible number of keyboards that have been stolen if the staff remember neither x nor the number of keyboards in the store before the heist.

    Examples
    inputCopy
    4
    10 13 12 8
    outputCopy
    2
    inputCopy
    5
    7 5 6 4 8
    outputCopy
    0
    Note
    In the first example, if x=8 then minimum number of stolen keyboards is equal to 2. The keyboards with indices 9 and 11 were stolen during the heist.

    In the second example, if x=4 then nothing was stolen during the heist.

    #include <bits/stdc++.h>
    using namespace std;
    template <typename t>
    void read(t &x)
    {
        char ch = getchar();
        x = 0;
        t f = 1;
        while (ch < '0' || ch > '9')
            f = (ch == '-' ? -1 : f), ch = getchar();
        while (ch >= '0' && ch <= '9')
            x = x * 10 + ch - '0', ch = getchar();
        x *= f;
    }
    
    #define wi(n) printf("%d ", n)
    #define wl(n) printf("%lld ", n)
    #define rep(m, n, i) for (int i = m; i < n; ++i)
    #define rrep(m, n, i) for (int i = m; i > n; --i)
    #define P puts(" ")
    typedef long long ll;
    #define MOD 1000000007
    #define mp(a, b) make_pair(a, b)
    #define N 100050
    #define fil(a, n) rep(0, n, i) read(a[i])
    //---------------https://lunatic.blog.csdn.net/-------------------//
    long long a[N];
    int main()
    {
        int n;
        read(n);
        rep(0, n, i) read(a[i]);
        sort(a, a + n);
        long long ans = 0;
        reo(1, n, i) ans += a[i] - a[i - 1] - 1;
        wl(ans),P;
        return 0;
    }
    
  • 相关阅读:
    你不会Python这几个库,不要说你会爬虫
    如何用Python破解验证码,适合新手练手
    2020最新Python入门笔记
    10个超有趣的Python项目,你会哪个?
    Python编程必学规范【新手必学】
    你对Python变量理解到位了没有,80%的人都不知道
    这个男人让你的python爬虫开发效率提升8倍
    Python抖音机器人,论如何在抖音上找到漂亮小姐姐?
    在Python中实现函数重载,60%的人都不会
    2020十大Python面试题,你会几个?
  • 原文地址:https://www.cnblogs.com/lunatic-talent/p/12798381.html
Copyright © 2011-2022 走看看