Submission #547941

#TimeUsernameProblemLanguageResultExecution timeMemory
547941AktanStove (JOI18_stove)C++14
100 / 100
76 ms8516 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; using namespace std; template<class T> using ordered_set = tree<T, null_type,less<T>, rb_tree_tag,tree_order_statistics_node_update>; #define int long long #define ft first #define sc second const int mod=1e9+7,INF=1e17,N=1e5; map<int,int> m; multiset<int> s; main(){ ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); int n,k; cin >> n >> k; vector<int> a(n); for(int i=0;i<n;i++){ cin >> a[i]; } sort(a.begin(),a.end()); for(int i=1;i<n;i++){ s.insert(a[i]-a[i-1]); } int cnt=1,sum=0; while(!s.empty() && k>cnt){ m[*--s.end()]++; s.erase(s.find(*--s.end())); cnt++; } int l=0; for(int i=0;i<n-1;i++){ if(m[a[i+1]-a[i]]!=0){ m[a[i+1]-a[i]]--; sum+=((a[i]-a[l])+1); l=i+1; } } sum+=a[n-1]-a[l]+1; cout << sum; }

Compilation message (stderr)

stove.cpp:15:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   15 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...