Submission #1310684

#TimeUsernameProblemLanguageResultExecution timeMemory
1310684bahaktlStove (JOI18_stove)C++20
100 / 100
17 ms2248 KiB
#include <bits/stdc++.h> #define int long long #define pb push_back using namespace std; const int N=3e5+10; const int inf=9e18; const int mod=1e9+7; int a[N]; int dp[N]; int pref[N]; vector<pair<int,int>>v[N]; int t[N*4]; void update(int v,int tl,int tr,int val,int pos) { if(tl==tr) { t[v]=val; return; } int m=(tl+tr)/2; if(m>=pos) { update(v*2,tl,m,val,pos); } else { update(v*2+1,m+1,tr,val,pos); } t[v]=min(t[v*2],t[v*2+1]); } int get(int v,int tl,int tr,int l,int r) { if(r>=tr && tl>=l) { return t[v]; } if(tr<l || tl>r) return inf; int m=(tl+tr)/2; return min(get(v*2+1,m+1,tr,l,r),get(v*2,tl,m,l,r)); } signed main() { ios_base::sync_with_stdio(NULL); cin.tie(NULL); int T=1; // cin>>T; while(T--) { int n,k; cin>>n>>k; k--; for(int i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+n+1); int ans=n; vector<int>v; for(int i=2;i<=n;i++) { v.pb(a[i]-a[i-1]-1); } sort(v.begin(),v.end()); for(int i=1;i<=n-k-1;i++) { ans+=v[i-1]; //cout<<v[i-1]<<' '; } cout<<ans<<"\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...