Submission #570649

#TimeUsernameProblemLanguageResultExecution timeMemory
570649nohaxjustsofloStove (JOI18_stove)C++17
100 / 100
20 ms2284 KiB
#include <bits/stdc++.h> #include <iostream> using namespace std; typedef long long ll; typedef unsigned long long ull; typedef long double ld; #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; typedef tree<ll,null_type,less<ll>,rb_tree_tag,tree_order_statistics_node_update> order_set; mt19937 mt_rand(chrono::high_resolution_clock::now().time_since_epoch().count()); //uniform_int_distribution<int> gen(-1e9, 1e8); ///(min, max) //int random() {return gen(mt_rand);} const int mxN = 1e6+50000; const int mod = 998244353; const int mxlogN = 34; const int mxK = 26; const int inf = 1e9; const int K = 100000; int a[mxN]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, k; cin >> n >> k; for(int i=0; i<n; i++) cin >> a[i]; vector<int> b; for(int i=1; i<n; i++) b.push_back(a[i]-a[i-1]-1); sort(b.begin(), b.end()); ll cost=a[n-1]-a[0]+1; while(--k&&b.size()) { cost-=b.back(); b.pop_back(); } cout << cost << "\n"; } /** 1 2 3 4 5 6 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...