Submission #554879

#TimeUsernameProblemLanguageResultExecution timeMemory
554879d4xnStove (JOI18_stove)C++17
100 / 100
21 ms2880 KiB
#pragma GCC optimize ("Ofast") //#pragma GCC target ("avx2") #include <bits/stdc++.h> using namespace std; #define int long long #define ll long long #define ull unsigned long long #define ld long double #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define LB lower_bound #define UB upper_bound #define ii pair<int, int> #define ff first #define ss second #define mp make_pair #define pb push_back #define vi vector<int> #define vvi vector<vi> #define vb vector<bool> #define vvb vector<vb> #define vs vector<string> #define vii vector<ii> #define vvii vector<vii> #define vll vector<ll> #define vld vector<ld> #define pld pair<ld, ld> #define vpld vector<pair<ld, ld>> int n, k; vi v; signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin >> n >> k; v.resize(n); for (int &i : v) cin >> i; sort(all(v)); vi dis(n-1); for (int i = 0; i+1 < n; i++) { dis[i] = v[i+1] - v[i] - 1; } sort(rall(dis)); vb vis(n, 0); int ans = n; int x = n; while (k < x) { assert(x-1 == dis.size()); ans += dis[x-2]; dis.pop_back(); x--; } cout << ans << "\n"; return 0; }

Compilation message (stderr)

In file included from /usr/include/c++/10/cassert:44,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:33,
                 from stove.cpp:3:
stove.cpp: In function 'int main()':
stove.cpp:53:16: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |     assert(x-1 == dis.size());
      |            ~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...