Submission #898433

#TimeUsernameProblemLanguageResultExecution timeMemory
898433honanhphongStove (JOI18_stove)C++14
100 / 100
20 ms7772 KiB
#include <bits/stdc++.h>
#define pb push_back
#define fi first
#define se second
#define faster ios_base::sync_with_stdio(0); cin.tie(0);
#define int long long
using namespace std;
using lli = long long;
using ld = long double;
using pii = pair <int, int>;
mt19937_64 Rand(chrono::steady_clock::now().time_since_epoch().count());
const int maxn = 1e6 + 1000;
const int mod = 1e9 + 7;
lli n, k, a[maxn], b[maxn];
void ReadInput()
{
    cin >> n >> k;
    for (lli i = 1; i <= n; i ++)
    {
        cin >> a[i];
    }
}
void Solve()
{
    for (lli i = 1; i < n; i ++)
    {
        b[i] = a[i + 1] - a[i] - 1;
        //cout << b[i] << endl;
    }
    sort (b + 1, b + n);
    lli res = n;
    for (lli i = 1; i <= n - k; i ++)
    {
        res += b[i];
    }
    cout << res;
}
#define debug
#define taskname "A"
signed main(){
    faster
    if (fopen(taskname".inp", "r")){
        freopen(taskname".inp", "r", stdin);
        freopen(taskname".out", "w", stdout);
    }
    int tt = 1;
    //cin >> tt;
    while (tt--){
        ReadInput();
        Solve();
    }
    if (fopen("timeout.txt", "r")){
        ofstream timeout("timeout.txt");
        timeout << signed(double(clock()) / CLOCKS_PER_SEC * 1000);
        timeout.close();
        #ifndef debug
        cerr << "Time elapsed: " << signed(double(clock()) / CLOCKS_PER_SEC * 1000) << "ms\n";
        #endif // debug
    }
}


Compilation message (stderr)

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