Submission #1360835

#TimeUsernameProblemLanguageResultExecution timeMemory
1360835vjudge1Stove (JOI18_stove)C++20
100 / 100
11 ms2380 KiB
#include <bits/stdc++.h>
#define pb push_back
#define se second
#define fi first
#define all(x) (x).begin(), (x).end()
#define el "\n"
#define bit(mask,i) ((mask>>i)&1)
#define vll vector <long long>
#define FOR(i, a, b) for (int i = a; i <= b; i ++)
#define REP(i, a, b) for (int i = a; i >= b; i --)
#define taskname "test"
#define int long long
using namespace std;

typedef long long ll;
typedef pair<ll,ll> pi;

const int MAXN = 1e6+5;
const ll MOD = 1e9 + 7;
const ll INF = 1e18;
const double EPSILON = 0.000001;

// Initial function
ll add(ll x, ll y) {
    x += y;
    if (x >= MOD) x -= MOD;
    if (x < 0) x += MOD;
    return x;
}

void maximize (ll &x, ll val) {
    x = max (x, val);
}

void minimize (ll &x, ll val) {
    x = min (x, val);
}

ll Pow (ll x, ll y) {
    int ans = 1;
    while (y > 0) {
        if (y & 1) ans = ans * x % MOD;
        y /= 2;
        x = x * x % MOD;
    }
    return ans;
}

// -----------------------d

int n, k, a[MAXN];

void solve () {
    cin >> n >> k;
    k --;
    FOR (i ,1, n) cin >> a[i];
    sort (a + 1, a + 1 + n);

    vector <int> b;

    FOR (i, 2, n) b.pb (a[i] - a[i - 1] - 1);
    sort (all (b), greater <int>());

    int res = a[n] - a[1] + 1;
    FOR (i, 0, min (k - 1, (int) b.size () - 1)) {
        res -= b[i];
    }

    cout << res;
}


signed main ()
{
    if (fopen (taskname".inp", "r"))
    {
        freopen (taskname".inp", "r", stdin);
        freopen (taskname".out", "w", stdout);
    }

    ios_base :: sync_with_stdio (false);
    cin.tie (NULL);
    cout.tie (NULL);

    clock_t start = clock();

    solve ();

    std::cerr << "Time elapsed: " << clock() - start << " ms\n";
    
    return 0;
}

Compilation message (stderr)

stove.cpp: In function 'int main()':
stove.cpp:77:17: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   77 |         freopen (taskname".inp", "r", stdin);
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
stove.cpp:78:17: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   78 |         freopen (taskname".out", "w", stdout);
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...